Android打包流程(Build-->apk)

我们可以将整个打包过程概括为以下几步:

  1. 通过aapt打包res资源文件,生成R.java、resources.arsc和res文件(二进制 & 非二进制如res/raw和pic保持原样)
  2. 处理.aidl文件,生成对应的Java接口文件
  3. 通过Java Compiler编译R.java、Java接口文件、Java源文件,生成.class文件
  4. 通过dex命令,将.class文件和第三方库中的.class文件处理生成classes.dex
  5. 通过apkbuilder工具,将aapt生成的resources.arsc和res文件、assets文件和classes.dex一起打包生成apk
  6. 通过Jarsigner工具,对上面的apk进行debug或release签名
  7. 通过zipalign工具,将签名后的apk进行对齐处理。

以上步骤均为必须,否则不能在设备上安装。

对应的图示:


Android打包流程(Build-->apk)_第1张图片
image.png

关于zipalign工具,根据名字就知道是个zip文件对齐的工具。使得apk中的资源文件偏离文件起始位置4个字节,从而可以通过mmap()直接访问,从而减少RAM占用。

参考:
http://blog.csdn.net/yangxi_pekin/article/details/78612741
http://mouxuejie.com/blog/2016-08-04/build-and-package-flow-introduction/
https://developer.android.com/studio/command-line/zipalign.html

你可能感兴趣的:(Android打包流程(Build-->apk))