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

升级React-Native至0.60后Android端出现cannot find symbol错误求助

解决React Native 0.59.4升级到0.60.0 Android端的类找不到问题

我当初升级RN到0.60版本时也踩过几乎一模一样的坑,给你分享下我当时的解决步骤:

1. 先搞定PackageList等类找不到的核心问题

RN 0.60开始引入了自动生成的PackageList类,这个类不会一开始就存在,得先让Gradle同步生成它:

  • 先确认android/build.gradle里的依赖版本和RN 0.60匹配:
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0' // 这个版本是RN 0.60要求的
        classpath 'com.facebook.react:react-native-gradle-plugin:0.60.0'
    }
    
  • 然后执行cd android && ./gradlew clean && ./gradlew build --refresh-dependencies,手动触发Gradle同步和缓存刷新。同步完成后,PackageList会自动生成在build/generated/source/rncli目录下,这时候找不到符号的错误应该就消失了。

另外,ReactApplication和ReactNativeHost找不到的问题,大概率是android/app/build.gradle里的RN依赖没配对,检查下这里:

dependencies {
    implementation 'com.facebook.react:react-native:0.60.0' // 确保版本和你要升级的一致
}

2. 处理Gradle弃用警告

RN 0.60对应的Gradle版本是5.4.1,警告里说的不兼容是因为可能你本地Gradle版本不对:

  • 打开android/gradle/wrapper/gradle-wrapper.properties,把distributionUrl改成:
    distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
    
  • 如果想知道具体哪些特性被弃用了,执行cd android && ./gradlew build --warning-mode all,根据输出的提示调整对应的Gradle配置就行,一般都是一些旧的task写法或者插件版本的问题,跟着提示改就好。

3. 最后做个全面清理

有时候缓存会搞事情,建议你:

  • 删除项目根目录的node_modules,重新执行npm install
  • 再执行cd android && ./gradlew clean
  • 重新运行项目react-native run-android

按照这些步骤操作下来,应该就能顺利跑起来了。

内容的提问来源于stack exchange,提问作者s-leg3ndz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:01:53