Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 无法解析符号ReactApplication/ReactNativeHost_Android_React Native_React Native Fbsdk - Fatal编程技术网

Android 无法解析符号ReactApplication/ReactNativeHost

Android 无法解析符号ReactApplication/ReactNativeHost,android,react-native,react-native-fbsdk,Android,React Native,React Native Fbsdk,我有一个react本机在iOS上完美运行,但由于MainApplication和MainActivity中的导入问题,无法在Android studio中编译。我遵循了React原生FBSDK指南 在MainApplication中,我在导入语句中得到“无法解析符号”: 导入com.facebook.react.react应用程序; 导入com.facebook.react.ReactNativeHost 以及以下错误: 错误:(7,8)错误:MainActivity不是抽象的,并且不重写Rea

我有一个react本机在iOS上完美运行,但由于MainApplication和MainActivity中的导入问题,无法在Android studio中编译。我遵循了React原生FBSDK指南

在MainApplication中,我在导入语句中得到“无法解析符号”:

导入com.facebook.react.react应用程序; 导入com.facebook.react.ReactNativeHost

以及以下错误:

错误:(7,8)错误:MainActivity不是抽象的,并且不重写ReactActivity中的抽象方法getPackages() 错误:任务“:app:compiledBugJavaWithJavaC”的执行失败

编译失败;有关详细信息,请参阅编译器错误输出

我的主应用程序如下所示:

package com.ExampleApp;

import android.app.Application;

import com.facebook.react.ReactApplication;
import com.tradle.react.UdpSocketsModule;
import com.peel.react.TcpSocketsModule;
import com.peel.react.rnos.RNOSModule;
import com.masteratul.exceptionhandler.ReactNativeExceptionHandlerPackage;
import com.oblador.vectoricons.VectorIconsPackage;
import com.facebook.react.ReactNativeHost;
import com.facebook.react.ReactPackage;
import com.facebook.react.shell.MainReactPackage;
import com.facebook.soloader.SoLoader;
import com.facebook.CallbackManager;
import com.facebook.FacebookSdk;
import com.facebook.reactnative.androidsdk.FBSDKPackage;
import com.facebook.appevents.AppEventsLogger;

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

public class MainApplication extends Application implements ReactApplication {

  private static CallbackManager mCallbackManager = CallbackManager.Factory.create();

  protected static CallbackManager getCallbackManager() {
    return mCallbackManager;
  }

  @Override
  public void onCreate() {
    super.onCreate();
    // Use AppEventsLogger to log custom events.
    AppEventsLogger.activateApp(this);
  }

  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 UdpSocketsModule(),
            new TcpSocketsModule(),
            new RNOSModule(),
            new ReactNativeExceptionHandlerPackage(),
            new VectorIconsPackage(),
            new FBSDKPackage(mCallbackManager)

      );
    }
  };

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

}

我通过将react-native、react-native cli、gradle插件升级到最新版本解决了这个问题。在将react-native项目从Expo中分离出来后,我也遇到了这个问题

在MainApplication中,我对这些导入有“错误无法解析符号”:

import com.facebook.react.ReactApplication;
import com.facebook.react.ReactNativeHost;
在我的package.json文件中,我使用了:

"react-native": "https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz",
问题是android找不到这样的node_模块的目录

为了解决这个问题,我必须:

  • 将其更改为:

    “本机反应”:“^0.57.8”

  • 删除节点模块文件

  • 运行npm安装
  • 从android项目和同步项目中删除.gradle文件夹
  • 这就解决了我的问题。 希望我能帮忙

    "react-native": "https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz",