AndroidStudio 导出AAB格式上传谷歌提示超过150M
1.在Google Play后台上传aab包时候报错提示
您的 App Bundle 包含的以下配置会使应用的初始安装大小超过 150 MB 的上限
2.这里的150M指的不是aab的大小,而是解压aab后里面的base文件夹压缩后的大小不能超过150M
解决方案
把base文件下的内容拆分到其他module作为install_apk,即Play Asset Delivery(PAD)
Play Asset Delivery 针对原生代码或 Java 代码构建
1.将 Play Core 库导入项目 在app模块下的build.gradle下加入,注意:complieSdkVersion 和 targetSdkVersion一定要>= 30 不然会提示 assetPacks build失败,targetSdkVersion要>=30构建出来的aab才能上传google play
dependencies {
...
implementation 'com.google.android.play:core:1.10.2'
...
}
2.在项目的 build.gradle 文件中将 Android Gradle 插件的版本更新为 4.0.0 或更高版本。并且检查Android Studio版本在4.0以上,注意是项目下的build.gradle不是app模块下的build.gradle
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
}
3.菜单栏File->New->New Module,选择Android Library,Module name改下作为Asset Pack 名称,必须以字母开头,并且只能包含字母、数字和下划线, 如下图 这里模块名为install-time-asset_pack
4.检查项目的settings.gradle是否引入新建模块install-time-asset_pack,没有 则引用
include ':install-time-asset_pack'
5.在install-time-asset_pack模块下的build.gradle加入下面内容
apply plugin: 'com.android.asset-pack'
assetPack{
packName = "install_time_asset_pack"
dynamicDelivery{
deliveryType = "install-time" //PAD资源分发 安装时分发
}
}
官方格式:
// In the asset pack’s build.gradle file:
apply plugin: 'com.android.asset-pack'
assetPack {
packName = "asset-pack-name" // Directory name for the asset pack
dynamicDelivery {
deliveryType = "[ install-time | fast-follow | on-demand ]"
}
}
6.在项目的app模块的 build.gradle 文件中,添加项目中每个 Asset Pack 的名称,如下所示:
官方格式:
// In the app build.gradle file:
android {
...
assetPacks = [":asset-pack-name", ":asset-pack2-name"]
}
本案例:
android {
...
assetPacks = [":install-time-asset_pack"] //PAD资源分发
}
7.在install-time-asset_pack模块创建以下子目录:src/main/assets,没有则创建,然后将app模块的assets下的资源复制到install-time-asset_pack模块的assets里面,然后删掉app模块下assets里的资源
8.检查一下是否支持androidX 在 gradle.properities 里添加
android.useAndroidX=true
android.enableJetifier=true
9.接下来打包测试
参考
1.官方文档:https://developer.android.com/guide/app-bundle/asset-delivery/build-native-java
2.参考博客:https://blog.csdn.net/qq_32756581/article/details/121625924?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-2.no_search_link&utm_relevant_index=5