【问题标题】:React Native FBSDKPackage linking error on react native 0.60 version because of PackageList auto generated file由于 PackageList 自动生成的文件,React Native FBSDKPackage 在 React Native 0.60 版本上链接错误
【发布时间】:2019-11-18 19:47:30
【问题描述】:

React Native 0.60 版本上的 React Native FBSDKPackage 链接错误 因为 PackageList 自动生成的文件。

公共类 MainApplication 扩展应用程序实现 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 不能应用于给定类型 必需:回调管理器 发现:没有参数 原因:实际参数列表和形式参数列表的长度不同

【问题讨论】:

  • 您可以添加您面临的错误吗?
  • 错误:类 FBSDKPackage 中的构造函数 FBSDKPackage 不能应用于给定类型;必需:找到CallbackManager:没有参数原因:实际参数列表和正式参数列表的长度不同
  • 需要移除mCallbakManager,参考github.com/facebook/react-native-fbsdk/pull/576

标签: android react-native


【解决方案1】:
Instead of this npm install react-native-fbsdk
installed this it worked 

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

【讨论】:

    【解决方案2】:

    你可以改变

    new FBSDKPackage(mCallbackManager)
    

    new FBSDKPackage()
    

    我的意思是删除mCallbackManager

    参考solution

    【讨论】:

    • packages.add(new FBSDKPackage(mCallbackManager));已经添加了
    • 我已经更新了答案和参考。也有链接,请立即查看。
    • 请注意,如果您使用的是当前在 RC 中的 v1.x,这适用。如果您仍在使用 v0.10.x,则仍然需要 mCallbackManager
    【解决方案3】:

    我找到了奇怪的解决方案。使用稳定的 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 它突然消失了。他们在稳定版本中可能有一些错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-14
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 2020-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多