4418开发板Android源码整体&单独编译

2019年12月18日 10:20    发布者:落风
内核缺省文件配置之后,Android 目录,运行一键编译脚本“build_android.sh”,如下图所示。
注意:本篇文章基于iTOP-4418开发板,编译 Android 必须保证给 Ubuntu 系统提供 4G 以上内存。
这里“提供 4G 以上内存”的意思,不仅仅是指在 VMware Workstations 虚拟机中设置分配 4G 内存。
例如,用户在编译的时候,PC 机的内存一共是 6G,在虚拟机中设置分配 4G 内存,但是在 Windows
系统下,开着 QQ,杀毒软件,音乐播放器,浏览器等等,这样在 Windows 下占用的内存就快 2G
了,那么虚拟机会自动调整到只占用 3G,甚至不到 3G 的内存,这样就有可能没法编译通过。后面
的单独编译 Android 也是需要 4G 以上内存。
正确的分配内存方法是,首先给虚拟机分配 4G 以上内存,然后在 Windows 下关掉尽量
多的不必要的应用,关掉尽量多应用的后台程序。
当然,如果用户的 PC 是 8G 或者 16G 内存,随意就成。

编译中,如下图所示。

编译完成之后,在 result 目录下,如下图所示。
生成了 uboot 文件“u-boot-iTOP-4418.bin”;
生成了 kernel 文件“ boot.img”;
生成了 Android 文件系统“cache.img”“system.img”“userdata.img”。

如下图所示,编译完成之后,uboot 源码,kernel,Android 以及中间文件(不包括源码
压缩包)一共占用 40G 空间,如果编译不通过,用命令“df -l”查看一下硬盘空间够不够。


5.3.2 Android 源码单独编译
如果用户想要单独编译 uboot,kernel,Android 中的任意一个,可以打开
“build_android.sh”编译脚本。
进入到脚本最后一行,如下图所示。

如上图所示,红色框中的脚本对应着编译命令。
脚本代码 build_uboot
——编译 uboot 镜像
脚本代码 build_kernel
——编译内核镜像
脚本代码 build_module
——编译内核的 KO 文件
脚本代码 build_android
——编译 Android 镜像
脚本代码 post_process 和 build_dist
——将编译好的镜像拷贝到 result 目录
单独编译 uboot,则如下图所示,将编译 build_kernel,build_module,build_android
注释掉,再执行编译脚本“build_android.sh”。

单独编译内核,则如下图所示,将 build_uboot,build_android 注释掉,再执行编译脚
本“build_android.sh”。

单独编译 Android,则如下图所示,将 build_uboot,build_kernel,build_module 注
释掉,再执行编译脚本“build_android.sh”。

网友评论

candicejn 2019年12月19日
好资料,很新,比较强悍。