
Android编译系统
文章平均质量分 94
阳光玻璃杯
认真,你或许不会输!
展开
-
自己写一个简单通用的Makefile
一.makefile的作用 Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile中记录有文件的信 息,在make时会决定在链接的时候需要重新编译哪些文件。Makefile的宗旨就是:让编译器知道要编译一个文件需要依赖其他的哪些文件。当那些依赖文件有了改变,编译器会自动发现最终原创 2016-08-03 12:55:07 · 7253 阅读 · 0 评论 -
Android编译系统分析二:mm编译单个模块
因为Android的编译系统不同于Linux Kernel的递归式的编译系统,它的编译系统是一种称之为independent的模式,每个模块基本独立(它有可能依赖其他模块),每个模块都可以单独编译,这是Android independent编译系统模式的好处。但这并不意味着它是完美的,普通电脑编译android系统需要8个小时甚至更多(以本人的电脑为例),而编译linux kernel只需要半个小时,代码量是一回事,由independent模式造成的编译时间长应该是可以肯定的。正因为每个模块可以单独编译,所原创 2016-09-03 17:14:45 · 11081 阅读 · 0 评论 -
Android编译系统分析三:make完整编译android系统
Android编译系统分析系列文章:android编译系统分析一Android编译系统-mm编译单个模块android编译系统分析(三)-makeandroid编译系统(四)-实战:新增一个产品这篇博客的目标是摸清楚默认编译整个android系统时代码的流程。当我们执行make的时候,会查找当前的Makefie文件或者makefile文件原创 2016-09-04 20:12:59 · 13088 阅读 · 0 评论 -
Android编译系统分析四:实战-新增一个产品
Android编译系统分析系列文章:android编译系统分析一Android编译系统-mm编译单个模块android编译系统分析(三)-makeandroid编译系统(四)-实战:新增一个产品通过上一节“android编译系统(三)-make”的分析,初步理清楚了编译初期加载产品相关信息的流程,整个过程主要涉及三个文件:1.AndroidPro原创 2016-09-04 20:17:26 · 5548 阅读 · 1 评论 -
Android编译系统分析五:system.img的生成过程
我们在完整编译android系统的时候,最终会生成几个重要的镜像文件,其中有system.img,userdata.img,ramdisk.img等。这篇文章的目的是分析system.img的生成过程。回想下我们完整编译android系统时的动作,我们会在android源码顶级目录执行make命令,这样就会完整的编译android系统,我们没有传入任何参数(-jx等加快编译的除外),因为我们没有明确指定mak原创 2016-09-11 13:39:54 · 19688 阅读 · 0 评论 -
android编译系统分析一:source build/envsetup.sh与lunch
虽然已经有很多人分析过android的编译系统的代码了,我也看过他们的博客,也学到了不少知识,但单纯的看别人分析,终究还是理解的不深入,所以,我还是要自己再认真的分析一遍。1. source build/envsetup.sh这个文件虽然很大,但暂且不需要统统看一遍。它里面定义了很多函数,这些函数在使用的时候再具体详细学习,现在主要看看这个脚本做的事情。即便如此,打开这个脚本后第一个函数还原创 2016-08-01 11:56:44 · 33191 阅读 · 4 评论 -
Android编译系统分析六:apk签名的过程分析
我们知道,当我们执行mm或者其他命令编译一个模块的时候,会在out\target\product\xxx\obj\APPS\xxxx生成三个apk,它们分别是:package.apk,package.apk.unaligned,package.apk.unsigned。其中package.apk应当是已经签过名的apk,package.apk.unsigned是没有签过名的apk,package.原创 2016-11-03 18:01:13 · 2335 阅读 · 1 评论 -
使用cmake构建工程
之前在linux下做项目的时候,都要自己手动的写Makefile来编译项目。后来,做Android jni开发后,发现Android studio默认的c/c++编译的工具是cmake,一开始对语法丝毫不动,查了一下资料后慢慢有了一些认识,这才发现cmake确实比写Makefile要方便多了。cmake需要较少的信息,就能为项目生成非常完成的Makefile系统,省去了大量需要手工编写脚本的工作。最原创 2017-08-09 18:53:49 · 2787 阅读 · 0 评论