.apk构建过程


废话少说,先看张图:

构建过程:

  1. aapt工具(Android Asset Packaging Tool安卓资源打包工具)将应用的所有资源文件,例如AndroidManifest.xml文件以及各种XML文件进行编译。生成编译后的资源文件,以及R.java文件。这样通过R.java文件就可以在java代码中引用那些编译后的资源文件了。
  1. aidl工具将所有.aidl文件转化为java接口文件。
  2. 所有java源代码,包括R.java和.aidl接口文件,由Java编译器编译为.class文件。
  3. dex工具将上面得到的.class文件以及项目中用的第三方库和.class文件转为.dex文件(可能不止一个,Multidex!,万恶的Unable to execute dex: method ID not in [0,0xffff]: 65536)。
  4. 所有未编译的资源(例如图片)、已编译的资源、连同上面的.dex文件由apkbuilder打包为一个.apk文件。
  5. 在安装到一台设备之前,构建出的.apk文件应该被签名(debug或者release签名)。
  6. 最后签名发布应用,须用zipalign工具对齐.apk文件,对齐可以减少应用运行时的内存占用。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,173评论 25 709
  • Android插件化基础的主要内容包括 Android插件化基础1-----加载SD上APKAndroid插件化基...
    隔壁老李头阅读 12,006评论 13 48
  • 前言 上两篇博客中提到了构建过程的问题,之前毕业在准备面试的过程中,对这个部分有过较为认真的学习,也进行了博客记录...
    Jensen95阅读 8,913评论 0 22
  • 当朋友向我们倾诉,当会员向我们诉说需求,当家人向我们表达关心时,我们真的能听完,能听进去吗?答案是不能,我们总是习...
    沁沐阅读 1,176评论 0 2
  • ——01—— 周六晚上外出聚餐,认识一个姑娘。 姑娘给人的第一印象,不深刻。如果在马路上,也就是一个路人甲,没有肤...
    Viviano阅读 4,857评论 2 4