Android之Apk打包原理

APP打包过程中,用到的构建工具和构建的过程。

  • 如下是一个apk解压后的目录,后面会提到每个目录在构建过程中是如何生成的。
AndroidManifest.xml  程序全局配置文件
classes.dex   Dalvik字节码
 resources.arsc  资源索引表, 解压缩resources.ap_就能看到
res\ 该目录存放资源文件(图片,文本,xml布局)
 assets\   该目录可以存放一些配置文件
src\   java源码文件
 libs\   存放应用程序所依赖的库
gen\  编译器根据资源文件生成的java文件
bin\    由编译器生成的apk文件和各种依赖的资源
 META-INF\   该目录下存放的是签名信息

   

下面是构建步骤:

  1. AAPT(Android Asset Packaging Tool)工具,Android资源打包工具。会打包资源文件(res文件夹下的文件),并生成R.java和resources.arsc文件。
  2. AIDL工具会将所有的.aidl文件编译成.java文件。
  3. JAVAC工具将R.java、AIDL接口生成的java文件、应用代码java文件编译成.class文件。
  4. dx脚本将很多.class文件转换打包成一个.dex文件。
  5. apkbuilder脚本将资源文件和.dex文件生成未签名的.apk文件。
  6. jarsigner对apk进行签名。

这些构建中使用的工具或者脚本,在SDK的build-tools或者tools下可以找到。

  • 下面是一张Google官方提供的构建流程图。对应着上面的构建步骤和apk解压目录看应该很清晰了。

 

转载连接转载连接

猜你喜欢

转载自blog.csdn.net/qq_36347817/article/details/88862652