android - Ios 版本的应用程序可以运行,但由于没有找到适合 React Native App 的 AccessToken 的构造函数,Android 版本失败

标签 android react-native fbsdk react-native-fbsdk

如标题所述,此应用的 Ios 版本在物理设备上运行良好。但是,当我尝试在 Android 设备上构建它时,出现错误

error: no suitable constructor found for AccessToken(String,String,String,<null>,<null>,<null>,<null>,<null>)
constructor AccessToken.AccessToken(String,String,String,Collection<String>,Collection<String>,AccessTokenSource,Date,Date,Date) is not applicable
(actual and formal argument lists differ in length)
constructor AccessToken.AccessToken(Parcel) is not applicable
(actual and formal argument lists differ in length)

这个错误在 FBGraphRequestModule.java 文件中高亮显示,特别是在这个方法中

    private void setConfig(GraphRequest graphRequest, ReadableMap configMap) {
            if (configMap == null) {
                graphRequest.setAccessToken(AccessToken.getCurrentAccessToken());
                return;
            }
            if (configMap.hasKey("parameters")) {
                graphRequest.setParameters(buildParameters(configMap.getMap("parameters")));
            }
            if (configMap.hasKey("httpMethod")) {


graphRequest.setHttpMethod(HttpMethod.valueOf(configMap.getString("httpMethod")));
    }
    if (configMap.hasKey("version")) {
        graphRequest.setVersion(configMap.getString("version"));
    }
    if (configMap.hasKey("accessToken")) {
        graphRequest.setAccessToken(new AccessToken(
            configMap.getString("accessToken"),
            AccessToken.getCurrentAccessToken().getApplicationId(),
            AccessToken.getCurrentAccessToken().getUserId(),
            null,
            null,
            null,
            null,
            null));
    } else {
        graphRequest.setAccessToken(AccessToken.getCurrentAccessToken());
    }
}

更具体地说,

if (configMap.hasKey("accessToken")) {
            graphRequest.setAccessToken(new AccessToken(
                configMap.getString("accessToken"),
                AccessToken.getCurrentAccessToken().getApplicationId(),
                AccessToken.getCurrentAccessToken().getUserId(),
                null,
                null,
                null,
                null,
                null));

我的 Java 技能不存在,所以我不知道如何解决这个问题。

最佳答案

我今天也遇到了同样的问题,将 react-native-fbsdk 升级到 0.8.0 似乎可以解决这个问题

关于android - Ios 版本的应用程序可以运行,但由于没有找到适合 React Native App 的 AccessToken 的构造函数,Android 版本失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52961670/

相关文章:

ios - 更新 FBSDK 11.2.0 后未找到“FBSDKCoreKitImport.h”文件

java - 有没有办法在没有任何网络的情况下从手机获取地理定位

java - 如何从android中的.txt文件中获取字符串

android - 显示错误 : “Original error: ‘app’ option is required for reinstall” while start session in Appium

android - 导航器已弃用并已从此包中删除 (expo)

ios - React Native 复选框显示为红点

reactjs - 使用 React Native Router Flux/Redux 保护路由(场景)

fragment 中的 Android 数据绑定(bind) - IllegalArgumentException : No view found

ios - FBSDKLoginCore 架构 armv7 的 undefined symbol

ios - 无效的 iOS bundle