Android打包报错:不支持编号超30的标签,无法读取签名密钥
解决Android打包
:app:signReleaseBundle失败问题:Tag number over 30 is not supported 问题描述
执行Android打包任务:app:signReleaseBundle时失败,报错关联com.android.build.gradle.internal.tasks.FinalizeBundleTask$BundleToolRunnable,无法从路径C:\mm\omafya读取密钥key0,错误提示:Tag number over 30 is not supported(不支持编号超过30的标签)。
解决步骤
- 重新生成合规的签名密钥库
该问题根源是现有密钥库的证书使用了ASN.1规范中编号超过30的标签,Android签名工具不兼容。使用keytool生成新密钥,确保证书符合要求:keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key0 - 更新项目签名配置
在app/build.gradle(或build.gradle.kts)中替换签名配置,指向新生成的密钥库:android { signingConfigs { release { storeFile file("my-release-key.jks") storePassword "你的密钥库密码" keyAlias "key0" keyPassword "你的密钥密码" } } buildTypes { release { signingConfig signingConfigs.release // 保留其他原有配置 } } } - 验证密钥库合规性(可选)
若需确认原密钥库问题,可使用keytool打印证书详情,检查是否存在编号超过30的ASN.1标签:keytool -printcert -file 证书文件路径
内容的提问来源于stack exchange,提问作者Gameryz
相关产品推荐
相关产品推荐

