如下图所示
解决方案 把base里的资源拆到其他的module里作为install-pak 也就是谷歌推出的PAD 资源包解决方案
对你的android studio 工程 右键 新建一个module
我这里是选 android library 点击next 创建 名字无所谓 后面可以重命名
3.重命名Module 为install-time-asset_pack (这个名字为字母下划线 不带数字就行 这里偷懒用官方的名字)
4.打开重命名后的module 里的 build.gradle文件
拷贝下面的内容进去
apply plugin: 'com.android.asset-pack'
assetPack{
packName = "install_time_asset_pack"
dynamicDelivery{
deliveryType = "install-time" //PAD资源分发 安装时分发
}
}
5.修改项目setting.gradle 确保有引用改名后的module (没有引用会导致aab包突然减小很大的体积 属于丢资源了)
include ':install-time-asset_pack'
6.修改主项目的 build.gradle (就是项目目录下的 build.gradle)
加入依赖
implementation 'com.google.android.play:core:1.10.0' //PAD资源分发
注意这里的complieSdkVersion 和 targetSdkVersion一定要>= 30 不然会提示 assetPacks build失败
加入关键字
assetPacks = [":install-time-asset_pack"] //PAD资源分发
7. 检查一下项目 build.gradle gradle版本是否>= 4.0 如果没有 就改一下
不改会出现找不到assetPacks关键字
8. 再检查一下android Studio 版本 这个要大于4.0
9. 开始拷贝主项目里的assets 目录里的所有文件资源 拷贝到 install-time-asset_pack 对应asset 目录里。install-time-asset_pack 没有assets 目录就新建一个
android.useAndroidX=true
android.enableJetifier=true
10. 开始打包aab测试
11. 打包成功后 在 build/outputs/bundle/release 里看到 aab文件
12. 上面为啥是release 是因为我这里项目构建选的是relesae 一般默认是debug
13. 看一下这个测试aab 完美达到了 150M以下 然后 install_time_asset_pack 就是资源拉 在安装的时候谷歌会安排下载这个包进去
14. 开始打正式上传谷歌的aab
点Build/Generate Signed Bundle/APk
这里选Android App Bundle
这里记得勾选Export encrypted key 上传谷歌要这个key 路径选一个好记的 方便找
导出完成 目录 项目路径/release 目录下
关于如何测试aab 安装到手机或者模拟器上 这里就先不讲了 篇幅有点长了 等下个博客
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)