You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行jarsigner校验APK时提示‘无清单’‘未签名’的问题

解决APK配置签名后仍显示未签名的问题
  • 确认签名配置绑定到构建类型
    仅配置signingConfigs还不够,必须在buildTypes里指定release构建使用该签名配置,否则Gradle只会生成未签名APK。补充配置如下:

    ...
        signingConfigs {
            release {
                storeFile file("my-key-used-in-other-successful-project.keystore")
                storePassword "my-password-used-in-other-successful-project"
                keyAlias "my-alias-used-in-other-successful-project"
                keyPassword "my-password-used-in-other-successful-project"
            }
        }
        buildTypes {
            release {
                signingConfig signingConfigs.release // 关键:添加这行绑定签名配置
                // 其他原有配置如minifyEnabled等保留
            }
        }
    }
    
  • 校验正确的APK文件
    确保你用jarsigner -verify -verbose -certs校验的是release构建输出的最终APK,而非debug版本或build过程中的中间文件。默认release APK路径为app/build/outputs/apk/release/app-release.apk。若使用App Bundle,需先用bundletool生成签名APK再校验,直接校验.aab会报错。

  • 检查Gradle构建日志
    执行./gradlew assembleRelease时,查看控制台输出,确认是否存在Signing APK相关日志。若能看到Signed APK: [路径]的提示,说明签名流程正常;反之则签名配置未生效。

  • 验证密钥库有效性
    用以下命令确认密钥库可正常读取:
    keytool -list -v -keystore my-key-used-in-other-successful-project.keystore
    输入密码后若能显示密钥详细信息,说明密钥库无问题。

  • 尝试手动签名排查
    若Gradle自动签名仍异常,可手动签名验证:

    1. 生成未签名APK:./gradlew assembleReleaseUnsigned
    2. 执行手动签名:
      jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-key-used-in-other-successful-project.keystore [未签名APK路径] my-alias-used-in-other-successful-project
    3. 对齐APK:
      zipalign -v 4 [签名后APK路径] [最终对齐APK路径]
      最后校验对齐后的APK,若正常则说明Gradle配置仍有遗漏。

内容的提问来源于stack exchange,提问作者ViliusK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 16:10:30