编译Android源代码
硬盘空间需要在50G以上,最好100g
系统:ubuntu14.04
交叉工具链:arm-linux-gcc-4.5.1-v6-vfp-20120301
安装 Java 开发环境
$ sudo apt-get install openjdk-7-jdk openjdk-7-jre
首先准备android-5.0.2-fs-20150325.tar.gz 文件
解压
$ tar xzf android-5.0.2-fs-20150325.tar.gz
在 Ubuntu 下的解压内核并编译,命令为:
$ tar xzf linux-3.0.86-20150324.tgz $ cd linux-3.0.86/ $ cp tiny4412_android_defconfig .config $ make zImage
产生zImage文件在/arch/arm/boot目录下
编译 Android 系统
进入上述解压得到的 android-5.0.2, 执行以下命令(注意: “.”号后有一个空格):
$ . setenv
再执行“lunch”命令, 输入“full_tiny4412-eng”前的数字标号, 如下所示:
$ lunch You're building on Linux Lunch menu... pick a combo: 1. aosp_arm-eng 2. aosp_arm64-eng 3. aosp_mips-eng 4. aosp_mips64-eng 5. aosp_x86-eng 6. aosp_x86_64-eng 7. full_tiny4412-userdebug 8. full_tiny4412-eng 9. aosp_mako-userdebug 10. aosp_hammerhead-userdebug 11. aosp_tilapia-userdebug 12. aosp_grouper-userdebug 13. aosp_deb-userdebug 14. full_fugu-userdebug 15. aosp_fugu-userdebug 16. aosp_flo-userdebug 17. aosp_shamu-userdebug 18. aosp_manta-userdebug 19. mini_emulator_mips-userdebug 20. mini_emulator_x86_64-userdebug 21. mini_emulator_arm64-userdebug 22. m_e_arm-userdebug 23. mini_emulator_x86-userdebug
Which would you like? [aosp_arm-eng] 8
接着执行“make”命令开始编译,也可以在 make 后加上“-j”参数利用 CPU 的多核加快编译
速度,比如在 4 核 CPU 上可以执行“make –j4”。
注意: 编译过程可能持续 4、 5 个小时。
最后,执行以下命令生成映象文件:
$./gen-img.sh
注意: 如果提示如下错误,要先编译 u-boot 以得到 mkimage 工具, 方法见后。
./gen-img.sh: line 31: mkimage: command not found
编译 u-boot 以得到 mkimage 工具的方法:
$ tar xzf uboot_tiny4412-20130729.tgz $ cd uboot_tiny4412/ $ make tiny4412_config $ make $ sudo cp tools/mkimage /usr/bin/
uboot_tiny4412-20130729.tgz在uboot工具中
最终在android-5.0.2目录下产生
android studio工程索引文件 android.ipr android.iml
系统镜像文件 system.img ramdisk-u.img userdata.img userdata-4g.img userdata-8g.img userdata-16g.img