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

整体架构

通过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)

 

AAPT执行过程

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

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

 

后记

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

 

学习自

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值