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

生成签名应用时遇“Given final block not properly padded”报错求助

解决Android Studio 2023.1.1签名JKS文件异常问题
  • 检查JDK版本兼容性
    Android Studio 2023.1.1默认搭载Embedded JDK 17,而2022.2.1 Patch 2通常使用JDK 11。高版本JDK对JKS密钥库的算法支持可能存在差异,导致读取失败。
    操作步骤:打开File > Project Structure > SDK Location,将JDK Location切换为和正常机器一致的版本(比如JDK 11),或尝试使用Oracle JDK替代嵌入式JDK。

  • 转换密钥库格式为PKCS12
    JKS是较旧的密钥库格式,PKCS12在新版本JDK中兼容性更好。通过keytool转换格式:

    keytool -importkeystore -srckeystore your_old.jks -destkeystore new_keystore.p12 -deststoretype PKCS12
    

    转换完成后,在AS中使用新生成的PKCS12文件进行签名测试。

  • 清除Android Studio缓存与索引
    新版本AS的缓存可能出现异常,干扰签名流程。执行File > Invalidate Caches...,选择Invalidate and Restart,重启后重试签名操作。

  • 核对签名配置细节
    再次确认build.gradle中的签名配置参数,确保storePassword、keyPassword、keyAlias无拼写错误(即使你确认密码正确,也可能存在别名输入失误)。示例配置:

    signingConfigs {
        release {
            storeFile file("your.jks")
            storePassword "your_password"
            keyAlias "your_key_alias"
            keyPassword "your_password"
        }
    }
    
  • 尝试手动签名APK
    绕开AS的签名流程,用命令行手动签名验证问题:

    1. 生成未签名APK:Build > Build Bundle(s) / APK(s) > Build APK(s)
    2. 执行签名命令:
      jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore your.jks app-release-unsigned.apk your_key_alias
      

    如果手动签名成功,说明问题出在AS本身;若仍失败,需进一步检查JKS文件是否存在隐性损坏(可尝试从正常机器重新拷贝一份干净的JKS)。

内容的提问来源于stack exchange,提问作者Alex B.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 06:42:42