升级到0.60后,React-Native无法找到符号

时间:2019-07-09 11:26:18

标签: android reactjs react-native

我尝试将我的本机应用程序0.59.4升级到0.60.0。

我使用this link作为升级所有本机文件的参考。但是,当我尝试在Android设备上运行我的应用程序时,出现了此错误:

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings
12 actionable tasks: 4 executed, 8 up-to-date
/home/stephane/Project/youtube-audio-player/android/app/src/main/java/com/youtubeaudioplayer/MainApplication.java:5: error: cannot find symbol
import com.facebook.react.PackageList;
                         ^
  symbol:   class PackageList
  location: package com.facebook.react
/home/stephane/Project/youtube-audio-player/android/app/src/main/java/com/youtubeaudioplayer/MainApplication.java:6: error: cannot find symbol
import com.facebook.react.ReactApplication;
                         ^
  symbol:   class ReactApplication
  location: package com.facebook.react
/home/stephane/Project/youtube-audio-player/android/app/src/main/java/com/youtubeaudioplayer/MainApplication.java:7: error: cannot find symbol
import com.facebook.react.ReactNativeHost;

有人已经成功升级到0.60版本了吗?

1 个答案:

答案 0 :(得分:3)

当使用与从0.59.10迁移到0.60.0时相同的页面时,我实际上错过了一些小事情。

我错过的一件事(最终可以确定的是我的情况)是必须在/android/app/build.gradle的底部添加此部分:

apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)

我在/android/settings.gradle中只有类似的一行,但是错过了那一行。


还有其他原因也可能导致这种情况发生。
以下是我在尝试修复项目时发现的github问题:

  • https://github.com/facebook/react-native/issues/9296:清除IDE缓存并重新启动。不适用于我的情况,但可能适用于您的情况。
  • https://github.com/facebook/react-native/issues/22033提出了两种解决方案:
    1. 确保maven { url("$rootDir/../node_modules/react-native/android") }allProjects.repositories中的/android/build.gradle
    2. 将您的本机依赖关系明确设置为您使用的版本。因此,在/android/app/build.gradle部分的dependencies中,您应该找到条目compile "com.facebook.react:react-native:+。您可以将其更改为compile "com.facebook.react:react-native:0.60.0。在某些情况下,gradle使用了旧版本的库,因为某些JS依赖项引用了该库。此更改应优先于此。