React Native 0.72.7升级后Gradle编译错误解决求助
React Native 0.72.7升级后Gradle编译找不到PackageList/BuildConfig的解决办法
1. 确认自动生成文件的核心配置
- 检查
android/app/build.gradle,确保顶部引入了React Native的自动生成脚本:
这个脚本负责自动生成apply from: "../../node_modules/react-native/react.gradle"PackageList.java文件,缺失会直接导致符号找不到。 - 确认
BuildConfig生成未被禁用:检查android/app/build.gradle的defaultConfig块,没有设置buildConfig false,且applicationId配置正确(BuildConfig的生成依赖这个字段)。
2. 执行彻底的清理与重建
常规清理可能不够彻底,执行以下操作强制重新生成所有自动文件:
# 删除依赖、锁文件和Android构建缓存 rm -rf node_modules package-lock.json android/build android/app/build # 重新安装依赖 npm install # 重新编译Debug版本 ./gradlew assembleDebug
如果使用Yarn,替换为:
rm -rf node_modules yarn.lock android/build android/app/build yarn install ./gradlew assembleDebug
3. 校验React Native版本一致性
- 确保
package.json中react-native版本为0.72.7,同时检查android/build.gradle里的com.facebook.react:react-native依赖版本与之一致,版本不匹配会导致生成的文件结构异常。 - 检查
android/settings.gradle配置是否正确,确保包含Native模块的自动引入脚本:include ':app' apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
4. 排查第三方Native依赖兼容性
部分旧版第三方Native模块可能与RN 0.72.x不兼容,干扰自动文件生成:
- 临时移除所有第三方Native依赖,重新编译,若问题消失则逐一添加依赖排查出冲突模块。
- 找到冲突模块后,升级至兼容RN 0.72的版本;若无法升级,可手动修改该模块的Android配置,确保其不会影响
PackageList的生成逻辑。
5. 检查Gradle与Android SDK版本匹配
RN 0.72.7对构建工具版本有明确要求:
- 确认
android/gradle/wrapper/gradle-wrapper.properties中的Gradle版本为7.5:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip - 确认
android/build.gradle中的Android Gradle Plugin(AGP)版本为7.3.1:classpath("com.android.tools.build:gradle:7.3.1") - 本地需安装Android SDK 33版本(RN 0.72对应的目标SDK版本)。
内容的提问来源于stack exchange,提问作者Hamza Shafqat
相关产品推荐
相关产品推荐

