目标:
(1)Android编译打包流程 (2) Android是如何通过R文件引用到真正的资源文件? (3)打包流程中的的对齐是什么,为什么要对齐? (4)aapt工具为何把xml编译成二进制文件?
一:
编译流程;
典型 Android 应用模块的编译流程(如图 1 所示)按照以下常规步骤执行:
- 编译器将您的源代码转换成 DEX 文件(Dalvik 可执行文件,其中包括在 Android 设备上运行的字节码),并将其他所有内容转换成编译的资源。
- APK 打包器将 DEX 文件和编译的资源组合成单个 APK。不过,必须先为 APK 签名,然后才能将应用安装并部署到 Android 设备上。
- APK 打包器使用调试或发布密钥库为 APK 签名:
- 如果您编译的是应用调试版本(即专用于测试和分析的应用),打包器会使用调试密钥库为应用签名。Android Studio 自动使用调试密钥库配置新项目。
- 如果您编译的是打算向外发布的应用发布版本,打包器会使用发布密钥库为应用签名。要创建发布密钥库,请参阅