由于PackageList自动生成的文件,在本机0.60版本上进行本机FBSDKPackage链接错误

时间:2019-07-09 09:26:52

标签: android react-native

  

反应原生0.60版本时反应原生FBSDKPackage链接错误   因为PackageList是自动生成的文件。

公共类MainApplication扩展了Application实现ReactApplication {

  private static final String TAG = "MainApplication";



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

  protected static CallbackManager getCallbackManager() {
    return mCallbackManager;
  }



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

    @Override
    protected List<ReactPackage> getPackages() {
      @SuppressWarnings("UnnecessaryLocalVariable")
      List<ReactPackage> packages = new PackageList(this).getPackages();
      packages.add(new FBSDKPackage(mCallbackManager));
      packages.add(new RNGoogleSigninPackage());
      packages.add(new Interactable());
      // Packages that cannot be autolinked yet can be added manually here, for example:
      // packages.add(new MyReactNativePackage());
      return packages;
    }

    @Override
    protected String getJSMainModuleName() {
      return "index";
    }
  };

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

自动生成的软件包

 private Context getApplicationContext() {
    return this.getApplication().getApplicationContext();
  }

  public ArrayList<ReactPackage> getPackages() {
    return new ArrayList<>(Arrays.<ReactPackage>asList(
      new MainReactPackage(),
      new FBSDKPackage(),
      new RNGoogleSigninPackage()
    ));
  }
  

错误

错误:FBSDKPackage类中的构造函数FBSDKPackage无法应用于给定类型 必需:CallbackManager 找到:没有参数     原因:实际和正式论据列表的长度不同

3 个答案:

答案 0 :(得分:1)

Instead of this npm install react-native-fbsdk
installed this it worked 
     

npm install git + https://github.com/facebook/react-native-fbsdk.git

答案 1 :(得分:0)

您可以更改

new FBSDKPackage(mCallbackManager)

new FBSDKPackage()

我的意思是删除mCallbackManager

请参阅solution

答案 2 :(得分:0)

我找到了奇怪的解决方案。使用稳定的fbsdk版本1.0.1,我不断收到错误消息:

PackageList.java:68: error: constructor FBSDKPackage in class FBSDKPackage cannot be applied to given types;
      new FBSDKPackage(),
      ^
 required: CallbackManager
 found: no arguments

但是使用1.0.0-rc.4时,它突然消失了。他们可能在稳定版本中有一些错误。