上传isDebuggable=true的AAB至Google Play内部测试轨道遇签名错误
关于Google Play内部测试轨道上传AAB的签名问题
问题描述
我正在测试Google Play应用内更新功能,需使用Google Play Console的内部测试轨道进行测试。但为了查看日志,我将release构建配置如下:
getByName("release") { isMinifyEnabled = false isShrinkResources = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) isDebuggable = true }
当我将AAB上传至Google Play Console的内部测试轨道时,收到错误提示:"All uploaded bundles must be signed"。请问出现该错误的原因是什么?是否可以上传能被Android Studio调试的正式版本至Google Play Console?
问题解答
错误原因
这个错误的核心原因是你上传的AAB未使用正式签名密钥签名。Google Play要求所有上传的应用包(AAB/APK)必须通过符合要求的正式密钥签名,哪怕是内部测试轨道的包也不例外。你当前的release构建虽然开启了isDebuggable = true,但如果构建时使用的是Android Studio默认的调试密钥(debug keystore),就会触发该错误——调试密钥仅适用于本地调试场景,不被Google Play认可。
是否可上传支持调试的正式版本
完全可以上传能被Android Studio调试的正式版本到Google Play Console,只需完成两个关键调整:
- 保留
isDebuggable = true配置:这会让应用安装后仍允许Android Studio附加调试进程、查看日志输出。 - 使用正式签名密钥构建release包:确保构建时使用你在Google Play Console注册的应用签名对应的上传密钥进行签名,满足Google Play的上传校验要求。
这类经过正式签名且开启调试模式的包,既能通过Google Play的上传审核,又能满足你测试应用内更新时查看日志的需求。
内容的提问来源于stack exchange,提问作者Daniele Vitali
相关产品推荐
相关产品推荐

