首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android学习札记之编译系统(五)apk编译流程

2013-03-13 
Android学习笔记之编译系统(五)apk编译流程apk项目是如何编译的?总结:我们可以通过mmshowcommands命令查看

Android学习笔记之编译系统(五)apk编译流程

apk项目是如何编译的?

总结:

我们可以通过mm  showcommands命令查看编译过程。今天下载了小米的Notes,便签,没有Android.mk文件,自己加上了Androd.mk,将这个项目放在自己的电脑工程下编译。总结了一下编译过程,不当之处请指正。参考柯元旦android内核剖析。

接下来我们就按顺序看看apk编译过程中的流程。

1、首先编译项目下的资源文件,生成R.java文件。因为资源文件相对独立,不会跟java文件存在依赖,相反java文件要以来资源文件,因为我们在java文件中通过R.string.xx来引用具体某个资源。编译res资源文件,主要是aap进行编译。命令使用:

-J :指定R.java的输出目录

-M:指定AndroidManifest.xml的位置

-P:指定public_resources.xml的输出目录,这个文件记述了apk资源中属性的相关描述

-S:指定res目录的路径

-I:指定apk项目可能引用的其他资源,比如framework层下的资源。

比如短彩信中会引用framework下的资源

acp -fp /out/target/product/generic/obj/APPS/MiuiNotes_intermediates/package.apk /out/target/product/generic/system/app/MiuiNotes.apk


这样我们通过编译同时生成了MiuiNotes.apk以及MiuiNotes.odex文件。

我们的源文件class.dex包含在MiuiNotes.odex中,我们的MiuiNotes.apk中包括资源文件。







 

热点排行