Mansoの空间

软件技术学习实践随记

Android 源码编译过程解释

实习的主要工作是android framework层的编译和定制,下面就简单得记录一下相关命令和其意义。


源码的文件结构

公司的源码下有两个文件,一个是android文件夹,一个是lichee,其中android是代码文件,是android定制的核心,lichee是全志科技芯片内核,其实也就是linux的内核。


编译内核

lichee文件夹下,有build.sh的脚本,主要内容是对kernel内核的编译,out目录下会产生已选择相应的img,之后在android编译的时候则会直接从中拷贝进行编译。


编译android

编译之前,会执行source build/envsetup.shlunch命令,其中lunch会跟一个参数表示产品的型号和eng,userdebug之类。

之后运行extract-bsp,extract-bsp是一个脚本函数,在device/softwinner/common/vendorsetup.sh 他也是在lunch的时候被执行的,也就是说如果先不执行lunch ,extract-bsp是无效的。这个脚本的主要作用是将lichee编译的结果输出到device/softwinner/vendor目录下


打包IMG

上面的extract-esp执行完之后,则可以运行make -jn(n根据电脑的配置选择,我用的是16),第一次编译的过程非常久,大概1-2个小时左右。编译结束后,会在out文件夹下生成很多的img文件这也是为我们的打包做准备。

最后执行pack命令,进行打包,运行结束之后,最后会在lichee/tools/pack目录下,一般格式是sun8xxx_android_yourname_uart0.img(其中yourname是自己取的名字)。

生成的img文件就可以进行固件的烧录了,烧录的方式由硬件商提供,在此不再描述。


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21198071/article/details/51544365
文章标签: android 源码 内核
上一篇Ubuntu下adb无法连接真机的解决方案
下一篇Android 源码单独编译和文件替换
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭