java - react native : error: cannot find symbol after upgrade

标签 java android facebook reactjs react-native

您好,在导入我的 React Native 项目 expo 并升级 React 后,我​​遇到了以下问题。

C:\Users\user\gramic\android\app\src\main\java\com\shop\MainApplication.java:5: error: cannot find symbol import com.facebook.react.ReactApplication; ^ symbol: class ReactApplication location: package com.facebook.react C:\Users\user\gramic\android\app\src\main\java\com\shop\MainApplication.java:13: error: cannot find symbol import com.facebook.react.ReactNativeHost; ^ symbol: class ReactNativeHost location: package com.facebook.react C:\Users\user\gramic\android\app\src\main\java\com\shop\MainApplication.java:21: error: cannot find symbol public class MainApplication extends Application implements ReactApplication { ^ symbol: class ReactApplication C:\Users\user\gramic\android\app\src\main\java\com\shop\MainApplication.java:23: error: cannot find symbol private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { ^ symbol: class ReactNativeHost location: class MainApplication C:\Users\user\gramic\android\app\src\main\java\com\shop\MainApplication.java:40: error: cannot find symbol public ReactNativeHost getReactNativeHost() { ^ symbol: class ReactNativeHost location: class MainApplication C:\Users\user\gramic\android\app\src\main\java\com\shop\MainActivity.java:5: error: MainActivity is not abstract and does not override abstract method getPackages() in ReactActivity public class MainActivity extends ReactActivity { ^ C:\Users\user\gramic\android\app\src\main\java\com\shop\MainApplication.java:23: error: cannot find symbol private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { ^ symbol: class ReactNativeHost location: class MainApplication C:\Users\user\gramic\android\app\src\main\java\com\shop\MainApplication.java:39: error: method does not override or implement a method from a supertype @Override ^

    package com.shop;

import android.app.Application;

import com.facebook.react.ReactApplication;
import com.oblador.vectoricons.VectorIconsPackage;
import com.corbt.keepawake.KCKeepAwakePackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.github.yamill.orientation.OrientationPackage;
import com.BV.LinearGradient.LinearGradientPackage;
import com.brentvatne.react.ReactVideoPackage;

import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;

import java.util.Arrays;
import java.util.List;

public class MainApplication extends Application implements ReactApplication {

  private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
    @Override
    public boolean getUseDeveloperSupport() {
      return BuildConfig.DEBUG;
    }

    @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
            new VectorIconsPackage(),
            new VectorIconsPackage(),
            new KCKeepAwakePackage(),
            new VectorIconsPackage(),
            new OrientationPackage(),
            new LinearGradientPackage(),
            new ReactVideoPackage()

      );
    }
  };

  @Override
  public ReactNativeHost getReactNativeHost() {
    return mReactNativeHost;
  }

  @Override
  public void onCreate() {
    super.onCreate();
    SoLoader.init(this, /* native exopackage */ false);
  }
}

最佳答案

首先:使用yarnnpm安装所有依赖;

其次:使用下面的代码链接iOS和Android原生代码上的原生依赖;

react-native link

第三:会出现这个错误是因为你的RN版本和Android的build.gradle版本不一样。当您创建一个 react-native 应用程序时,它可能会创建像这样的 android 应用程序:

android/app/build.gradle

implementation "com.facebook.react:react-native:+"

因此,检查您的 node_modules 文件夹,查找 react-native 文件夹并查找带有数字的文件夹,该数字是 react-native 版本。对我来说,它是 0.58.3 然后更新 android/app/build.gradle:

implementation "com.facebook.react:react-native:0.58.3"

这就是全部。

关于java - react native : error: cannot find symbol after upgrade,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49542654/

相关文章:

java - Android ViewPager 删除当前页面并移至下一页

ios - 如何更新 WDA WebDriverAgentRunner 产品构建版本?

iphone - Facebook 登录在 UIWebView 中失败

java - 如何用Jsoup爬取离线网页?

java - Java中的HashMap碰撞安全吗

java - Codename One 发送和显示推送通知

php - Stack overflow 上的 Facebook 'share' 按钮如何工作?

java - Hibernate StackOverflowError 与 @OneToMany 和 @ManyToOne 映射

java - jpanel 无法很好地显示 jframe 设置为 gridbaglayout

android - 如果文件在 Android 设备上,是否可以通过 adb 安装 APK?