源码编译系统不像文件管理系统那样有便捷的操作页面,它是一个没有界面的系统,默默地在后台运行。源码编译系统的作用是实现Android源码到APK的编译打包生成。
Android源码变成可以安装使用的APK的流程如图6-43所示。
这是一个关于构建过程的典型流程,下面详细介绍具体的过程。
(1)生成仅包含资源文件的APK包和“R.java”文件。
根据资源文件和AndroidManifest.xml由工具AAPT生成“R.java”文件。
图6-42 修改记录详情
(2)使用aidl工具把“.aidl”接口转换成Java接口。
(3)将“.java”文件编译为“.class”文件。(www.xing528.com)
编译项目src目录下所有“.java”文件以及之前生成的“R.java”文件、aidl生成的“.java”文件为相应的“.class”文件。
(4)将“.class”文件编译为“.dex”文件。
“.dex”文件是Android虚拟机所能识别、解析并运行的文件。Java源文件被编译为“.class”文件后,需要通过dex编译器将多个“.class”文件整合为一个“.dex”文件。
(5)将“.dex”文件添加进APK包。
在这一步系统会将所有无法编译的资源(比如图片)、编译好的资源文件和“.dex”文件都送到apkbuilder工具中,生成最后的“.apk”文件。
(6)签名。
如果使用apksigner对APK签名,则需要在签名之前使用zipalign优化对齐。生成“.apk”文件时必须制定是debug版本还是release版本,release版本还要提供相应的key。
如果选择release版本,还需要使用zipalign工具对APK对齐。对齐处理即使所有资源文件距离文件起始偏移4字节的整数倍,这样通过内存映射访问“.apk”文件时处理速度更快。
由于没有操作界面,所以读者只需要知道源码编译系统会一直在后台把提交的代码编译成可以安装使用的APK即可。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。