Android App Bundle打包发布GooglePlay

AndroidAppBundle是GooglePlay的一种发布格式,它将应用的代码和资源打包,由GooglePlay按需生成和签名APK。从2021年起,新应用必须使用此格式发布。通过密度、ABI和语言的分裂设置,可以实现针对不同设备的优化,减少用户下载大小。使用AndroidStudio和bundletool,开发者可以构建、签名和测试App Bundle,确保其在不同设备上的兼容性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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构建安装测试Appbundletool

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

如果需要使用文本密码

可使用--ks-pass=pass:xxxx代替--ks-pass=file:/MyApp/keystore.pwd

可使用--key-pass=pass:password代替--key-pass=file:/MyApp/key.pwd

将 APK 部署到连接的设备

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值