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

React Native执行gradlew assembleRelease后APK存放位置异常求助

解决React Native assembleRelease只生成未签名APK的问题

我来帮你搞定这个问题——你遇到的情况核心原因是release构建变体没有关联正确的签名配置,所以Gradle只输出了未签名的app-release-unsigned.apk,而不是官方文档里提到的已签名发布版APK。下面是一步步的排查和解决步骤:

  • 第一步:确认签名密钥已生成并放置到位
    如果你还没生成签名密钥,先通过以下命令生成(Windows用cmd,macOS/Linux用终端):

    keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
    

    生成后把my-upload-key.keystore文件放到android/app目录下。

  • 第二步:将签名配置关联到release构建
    打开android/app/build.gradle文件,找到android代码块,添加并完善签名配置,关键是要把signingConfig绑定到release构建类型:

    android {
      // 保留你原有配置...
    
      signingConfigs {
        release {
          // 用你全局gradle.properties里的变量引用,避免明文写密码
          storeFile file(MYAPP_UPLOAD_STORE_FILE)
          storePassword MYAPP_UPLOAD_STORE_PASSWORD
          keyAlias MYAPP_UPLOAD_KEY_ALIAS
          keyPassword MYAPP_UPLOAD_KEY_PASSWORD
        }
      }
    
      buildTypes {
        release {
          // 保留你原有配置(比如minifyEnabled、proguardFiles等)...
          signingConfig signingConfigs.release // 这行是核心!必须加上
        }
      }
    }
    

    确保你全局的gradle.properties里已经配置了这些变量:

    MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
    MYAPP_UPLOAD_STORE_PASSWORD=你的密钥库密码
    MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
    MYAPP_UPLOAD_KEY_PASSWORD=你的密钥密码
    
  • 第三步:清理缓存后重新构建
    先清理之前的构建缓存,避免旧配置干扰:

    # Windows系统
    gradlew clean
    
    # macOS/Linux系统
    ./gradlew clean
    

    然后重新执行发布构建命令:

    # Windows系统
    gradlew assembleRelease
    
    # macOS/Linux系统
    ./gradlew assembleRelease
    
  • 第四步:查看最终APK位置
    构建成功后,已签名的发布版APK就会出现在android/app/build/outputs/apk/release/app-release.apk路径下,而不是之前的未签名版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:30:27