美文网首页
【Android】【资源编译、打包】

【Android】【资源编译、打包】

作者: 徐乙_ | 来源:发表于2019-08-27 22:11 被阅读0次

整体架构

image.png

通过AAPT(Android Assert Package Tool)对资源打包,打包前,大部分XML会被编译成二进制,这样可以减小体积与优化解析速度
为了快速定位资源

  1. 给每个非Asset资源一个id,他们定义在R.java
  2. 生成resources.arsc,即资源索引表,根据id描述资源相关配置

所以着重关注

  1. XML资源编译过程
  2. R.java生成过程
  3. resources.arsc生成过程(AAPT在编译前,会创建资源表ResourceTable,根据ResourceTable生成resources.arsc)
image.png

AAPT执行过程

image.png

1、解析AndroidManifest.xml
2、添加被引用资源包
3、创建AaptAssets,收集资源文件
4、收集到的资源增加到ResourceTable中
5、编译values资源
6、给Bag资源分配id
7、编译XML资源文件:解析XML、赋予属性资源id、解析属性值、XML转二进制、写入资源id、字符串替换
8、生成资源符号
9、生成resources.arsc

image.png

10、编译AndroidManifest.xml
11、生成R.java
12、打包APK

后记

有什么写得错误、让人费解或遗漏的地方,希望可以不吝赐教,我会马上更改

学习自

https://blog.csdn.net/luoshengyang/article/details/8744683

相关文章

  • App 的编译和打包流程

    APK 的编译打包流程 打包所需要工具: 。 1.打包资源文件 AAPT,全称Android Asset Pack...

  • 【Android】【资源编译、打包】

    整体架构 通过AAPT(Android Assert Package Tool)对资源打包,打包前,大部分XML会...

  • Android构建过程——资源合并打包

    Android构建会经历资源合并打包、源码编译、dex生成及打包签名等步骤。本文对资源合并打包进行一下小的总结 资...

  • Gradle 构建(一)

    Android 的构建系统会编译应用资源和源代码,然后打包成apk。Android Studio 中使用gradl...

  • Gradle的统一配置(基础篇)

    Android应用程序的构建过程 所有的资源文件打包编译,在R文件中应用; 将所有的java代码打包编译,通过de...

  • Android 资源加载与匹配

    Android 应用程序资源编译和打包之后就生成一个资源索引表文件 resources.arsc,这个应用程序资源...

  • Android App 打包编译流程(Simple版)

    PS:以下为学习总结,not原创。打包过程的细节,请看老罗博客:Android应用程序资源的编译和打包过程分析 a...

  • Android Apk包瘦身

    首先我们来了解Android编译打包流程 1.Android编译打包流程及APK构成 1).通过Java编译器对于...

  • Android Apk包瘦身

    目录 1、Android 编译打包流程2、Apk包瘦身 1、Android 编译打包流程及APK构成 1.1、An...

  • aapt2 工具介绍

    aapt 是Android Asset Packaging Tool的缩写,是编译和打包资源的工具。而aapt2是...

网友评论

      本文标题:【Android】【资源编译、打包】

      本文链接:https://www.haomeiwen.com/subject/bhayectx.html