编译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”
注意: 编译过程可能持续 45 个小时。
最后,执行以下命令生成映象文件:

$./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

 

 

posted @ 2017-09-19 14:07  CAM&  阅读(262)  评论(0编辑  收藏  举报