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

React Native 0.63.3升级Gradle后release崩溃及AppCenter构建失败咨询

AppCenter构建RN Android失败+AGP升级崩溃修复方案

当前环境基线

  • React Native 0.63.3
  • Gradle 6.2
  • Android Gradle Plugin(AGP) 4.0.1

问题1::react-native-firebase_messaging:generateReleaseRFile构建失败修复

该报错由两个原因共同导致:一是AppCenter近期默认切换到新版构建镜像,内置SDK版本和旧RN版本不兼容;二是react-native-firebase版本和当前AGP版本不匹配,跨模块R文件生成时找不到对应符号表。按以下步骤操作:

  1. 登录AppCenter后台,进入对应应用的构建配置页,将构建镜像固定为macOS-11,不要使用默认的latest镜像或者macOS-12/13新版镜像,新版镜像内置的Android Build-Tools 33+、JDK11环境和RN0.63的构建逻辑完全不兼容。
  2. 本地锁定react-native-firebase相关依赖版本,RN0.63最高兼容的firebase模块版本为12.9.3,更高版本要求AGP4.2+、RN0.66+,会直接触发R文件生成错误,执行以下命令固定版本:
npm install @react-native-firebase/app@12.9.3 @react-native-firebase/messaging@12.9.3 --save-exact
  1. 在项目android/build.gradle文件末尾添加全局子项目配置,统一所有第三方模块的编译SDK、构建工具版本,避免版本不一致导致的R文件冲突:
subprojects {
    afterEvaluate { project ->
        if (project.hasProperty('android')) {
            android {
                compileSdkVersion 30
                buildToolsVersion "30.0.3"
            }
        }
    }
}
  1. 提交代码后,在AppCenter构建配置页勾选对应分支的Clean build选项,清除历史构建缓存后重新触发构建,即可解决该报错。

问题2:AGP升级到4.2.2后release包崩溃修复

RN0.63没有做AGP4.2.2的适配,直接升级会触发Gradle版本不匹配、native库压缩异常、R8误裁剪核心类三个问题,直接导致release包启动崩溃,按以下步骤修复:

  1. 先将Gradle版本升级到6.7.1,AGP4.2.2最低要求Gradle版本为6.7.1,原6.2版本和AGP4.2.2存在兼容bug,会导致构建产物异常。修改android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl即可:
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
  1. 在android/gradle.properties文件中添加以下配置,关闭AGP4.2默认开启的不兼容特性:
android.bundle.enableUncompressedNativeLibs=false
android.enableDexingArtifactTransform=false
reactNativeArchitectures=armeabi-v7a,arm64-v8a
  1. 在android/app/build.gradle的release构建块中添加packaging配置,解决so库冲突:
release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    packagingOptions {
        pickFirst '**/libc++_shared.so'
        pickFirst '**/libjsc.so'
    }
}
  1. 在android/app/proguard-rules.pro中添加混淆规则,避免R8误裁剪RN和firebase核心类:
-keep class com.facebook.react.** {*;}
-keep class io.invertase.firebase.** {*;}
-dontwarn io.invertase.firebase.**

非必要不建议在RN0.63版本上升AGP到4.2.2,AGP4.0.1+Gradle6.2是该RN版本经过验证的最稳定组合,强行升级后续还可能出现其他隐式兼容问题。如果需要使用高版本AGP,建议同步将RN版本升级到0.66及以上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:30:54