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
相关产品推荐
相关产品推荐

