Amlogic RK  全志 等等都会提供源码编译说明的文档,照着文档编译即可。拿Android 5.1 为例。amlogic 编译大概如下


1、设置当前SDK源码编译环境:



android mk 语法 android make_配置文件





source ./build/envsetup.sh  或者  ./build/envsetup.sh



2、lunch 选择编译的分支:






android mk 语法 android make_android mk 语法_02




在设置好编译环境后,通过lunch选择你要编译的分支,分支主要是看你的机器是什么机器或者是什么版型的,用的什么主控。


lunch之后选择一个数字对应你要编译的主控或版型:





android mk 语法 android make_Android系统编译 amlogic系_03




然后就可以进行进行下一步的编译了



3、编译 Android系统




android mk 语法 android make_android mk 语法_04






主要是make 命令,这个可以编译IMG系统镜像 。如果你需要编译ota包。用make otapackage -j6



make 之后会生成 system.img  recovery.img  等



-j6 是指开多少线程去编译系统。 



编译过程可能会出现一些问题,根据提示解决问题就可以了。也有一些因为编译多线程编译导致的错误,


这类错误可以忽略,直接重新编译 ,用make去编译。



编译需要时间比较长,主要看你编译服务器的性能跟配置,我用的i7 一般一个小时可以编译完5.1系统。


编译成功后会提示你:





android mk 语法 android make_Android系统编译 amlogic系_05




4、编译 uboot



首先进入到uboot目录下面,配置一个config,也就是  make qxxx_config 这样的一个配置文件。至于用什么配置文件也是根据你用的版型。


或者从你的供应商那里得知他们配置的是什么配置文件:






android mk 语法 android make_配置文件_06




配置好之后,直接 make -j6  可以生成 u-boot.bin  等文件



android mk 语法 android make_编译系统_07




5、make clean make install 的作用



make clean 是清除 第三部编译系统生成的out目录。也就是全清,清理后需要全部编译。编译过程比较长



make installclean  只会清除安装型的文件。例如apk 什么的。但是很多编译的库会保留。重新编译时间相对比较短





可能有一些版本还需要编译一些其他的配置等。 而且uboot编译完成之后,你需要重新打包,把uboot打包进烧录包或者升级包里面去。


uboot每次有修改最好都make clean 一遍,再编译。保证uboot的修改编译进去了。



uboot还有一个要注意的,就是uboot编译之后,需要拷贝到 out 目录下面去,有些SDK有做拷贝命令,有些SDK没做,需要手动去拷贝,或者写一个拷贝的脚本去拷贝