聊聊 APK —— AAR 的合并进 APK

本文探讨了Android中AAR库如何与APK合并,重点在于R文件的生成和资源处理。在AAR中,R.txt记录资源ID,而实际的R类在APK构建过程中根据所有依赖的aar和app资源重新生成,确保ID的全局唯一性。Gradle在合并过程中,为每个aar及其包名生成单独的R类,并在app的R类中汇总所有资源,实现了资源的正确加载。
摘要由CSDN通过智能技术生成

我们知道,Android 对于多人协作的方式,是使用 AAR 作为 Android 的库来给 App 引入参与编译的。Android 之于 Java 应用,在编译上最大的不同有两个,一个是 res 下面的资源,一个是 class 文件需要转成 dex 文件才能被加载和运行。

那么,在 AAR 的使用过程中,我们的 Gradle 到底对 AAR 做了什么动作呢?其实这部分内容,在以下的文章提过一些,不过我们今天想再仔细讲讲资源。

Gradle Builds Everything —— 处理依赖(aar)

我们来看看 AAR 中存在的东西

46b07472cd48557a2620a689387f6db2.jpeg

如果你解压看 classes.jar,可以看到里面就是 class 文件。

add4007a3d6c290342e75a0dc00dc12b.jpeg

然后 res 下面是资源文件,这些资源文件都还没经过压缩

3c8b19aaff7acf6870ecb208bece12fe.jpeg

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值