【问题标题】:React-Native cannot find symbol after upgrade to 0.60React-Native 升级到 0.60 后找不到符号
【发布时间】:2019-11-18 22:45:19
【问题描述】:

我尝试将我的 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 版本了吗?

【问题讨论】:

    标签: android reactjs react-native


    【解决方案1】:

    实际上,当我从 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. 将您的 react-native 依赖项显式设置为您使用的版本。因此,在dependencies 部分的/android/app/build.gradle 中,您应该找到一个条目compile "com.facebook.react:react-native:+。您可以将其更改为compile "com.facebook.react:react-native:0.60.0。在某些情况下,gradle 使用旧版本的库,因为它被一些 JavaScript 依赖项引用。此更改应覆盖该更改。

    【讨论】:

      猜你喜欢
      • 2019-11-06
      • 1970-01-01
      • 2018-09-07
      • 2023-01-05
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      • 2020-11-24
      • 1970-01-01
      相关资源
      最近更新 更多