Apk打包编译过程

122 阅读1分钟

apk是Android package的简写

怎么使用命令行来构建apk

使用gradle命令行工具来执行Android项目可用的所有构建任务

  • 在windows上:
gradlew task-name
  • 在mac或linux上
./gradlew task-name

如查看项目所有的任务列表

gradlew tasks

编译apk的过程

image.png

  • 资源文件会通过aapt工具进行编译,同时会成功R.java文件
  • R.java 源代码 通过java编译器编译成.class文件
  • 所有模块的.class文件通过dex工具转化成.dex文件
  • 使用apkbuilder将.dex文件和已经编译的资源文件转化成Android package(.apk)
  • 使用Jarsigner签名apk
  • 最后使用zipalign(对齐)优化apk, 所有的资源文件距离文件起始偏移为4字节,这样通过内存映射访问apk文件速度会更快

参考文章

Android APK编译流程

Android developers