Android App Bundle 简介官方文档
Android App Bundle 是一种发布格式,其中包含您应用的所有经过编译的代码和资源,它会将 APK 生成及签名交由 Google Play 来完成。
Google Play 会使用您的 App Bundle 针对每种设备配置生成并提供经过优化的 APK,因此只会下载特定设备所需的代码和资源来运行您的应用。您不必再构建、签署和管理多个 APK 来优化对不同设备的支持,而用户也可以获得更小且更优化的下载文件包。
从 2021 年 8 月起,新应用需要使用?Android App Bundle?才能在 Google Play 中发布。
App Bundle打包
要求:
必须在 Android Studio 3.2 及以上
打包指令:
./gradlew bundleRelease
app模块build.gradle配置:
android {
......
bundle {
density {
enableSplit true
}
abi {
enableSplit true
}
language {
enableSplit true
}
}
}
使用AndroidStudio打包并导出秘钥?:
选择工具栏的 Build- > Generate Signed Bundle / APK,然后选择Android App Bundle点击Next然后配置签名信息,勾选底部 Export encrypted key for enrolling published apps in Goolgle Play App Singing打包生成xxx.aab文件和xxx.pepk文件。
bundletool下载地址
将 aab 转为 apks:
java -jar bundletool.jar build-apks --bundle=app-debug.aab --output=app-debug.apks
如果要将这些 APK 部署到设备,您还需要添加应用的签名信息,如下面的命令所示。如果您未指定签名信息,bundletool ?会尝试使用调试密钥为 APK 签名。
java -jar bundletool.jar build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
--ks=/MyApp/keystore.jks
--ks-pass=file:/MyApp/keystore.pwd
--ks-key-alias=MyKeyAlias
--key-pass=file:/MyApp/key.pwd
java -jar bundletool.jar install-apks --apks=/MyApp/my_app.apks
生成设备专用 APK 集
java -jar bundletool.jar build-apks --connected-device
--bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
生成并使用设备规范 JSON 文件
java -jar bundletool.jar get-device-spec --output=/tmp/device-spec.json
java -jar bundletool.jar build-apks --device-spec=/MyApp/pixel2.json
--bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
|