Android编译过程

Android编译过程

可以看出生成一个apk有多复杂。
这里围绕几个关键的工具。

  • aapt 处理Manifest,Resource,Assets资源,生成R.java文件
  • aidl 处理.aidl文件,生成.java文件
  • javac 处理java文件,jar包
  • proguard 处理.class文件,jar包,对其进行混淆,压缩
  • dex 处理混淆后的jar文件,生成.dex文件
  • ndk-build 编译native代码,头文件,生成so库
  • apkbuilder 生成apk文件
  • jarsigner 签名apk文件
  • zipalign 对apk文件进行对齐,做最后的优化