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

VK1*_*VK1 3 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)
Run Code Online (Sandbox Code Playgroud)

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());
    }
}
Run Code Online (Sandbox Code Playgroud)

进一步来说,

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

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

Ahm*_*otb 16

我今天也有同样的问题,升级react-native-fbsdk到0.8.0似乎解决了它