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

React Native Release版本打包签名失败问题求助

解决Android Release构建时HmacPBESHA256算法不可用的问题

问题原因

该错误是由于你的JDK版本不支持HmacPBESHA256算法导致的。高版本Gradle(如你使用的7.3.3)在签名流程中会用到该算法,但旧版JDK(比如早期JDK 8)未提供对应支持,而Debug构建的签名逻辑和Release不同,所以不会触发这个问题。

解决方案

  • 升级JDK版本
    直接升级到JDK 11或更高版本,确保JDK包含该算法支持:

    1. 在Android Studio中打开项目,进入File > Project Structure > SDK Location
    2. 在JDK location选择已安装的JDK 11+路径
    3. 或者在项目根目录的gradle.properties中添加配置:
      org.gradle.java.home=/path/to/your/jdk11+
      
  • 修改签名配置兼容旧JDK
    若暂时无法升级JDK,可修改签名配置禁用V2签名(改用兼容旧JDK的V1签名):
    在android/app/build.gradle的signingConfigs块中添加配置:

    signingConfigs {
        release {
            storeFile file("my-upload-key.keystore")
            storePassword "你的密钥库密码"
            keyAlias "my-key"
            keyPassword "你的密钥密码"
            v2SigningEnabled false
        }
    }
    

    注意:禁用V2签名会降低APK安全性,建议优先选择升级JDK。

  • 验证密钥库完整性
    使用keytool命令检查密钥库是否损坏:

    keytool -list -v -keystore /Users/ad8kunle/Documents/react-native-projects/mvmarket/android/app/my-upload-key.keystore
    

    若命令执行失败,说明密钥库已损坏,需用备份文件替换。

  • 清理并重新构建
    修改配置后执行以下命令重新构建:

    ./gradlew clean
    npx react-native run-android --variant=release --no-jetifier
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 12:39:52