首页 > 解决方案 > react-native-fbsdk 0.8.0 包 com.facebook.reactnative.androidsdk 不存在

问题描述

我尝试将 react-native-fbsdk 从 0.7.0 升级到 0.8.0,但 react-native run-android 命令不再起作用。

:app:compileDebugJavaWithJavac - 不是增量的(例如输出已经改变,之前没有执行,等等)。C:\Dev\react-native\imnews\android\app\src\main\java\com\imnews\MainApplication.java:10:错误:com.facebook.reactnative.androidsdk 包不存在导入 com.facebook.reactnative .androidsdk.FBSDK包;^ C:\Dev\react-native\imnews\android\app\src\main\java\com\imnews\MainApplication.java:43:错误:找不到符号新 FBSDKPackage(mCallbackManager),^ 符号:类 FBSDKPackage

这就是我想升级到这个版本的原因: Ios 版本的应用程序可以工作,但是由于没有为 React Native App 的 AccessToken 找到合适的构造函数,Android 失败了

我注意到,node_modules/react-native-fbsdk/android 中没有构建目录。

使用 react-native 版本:react-native@0.57.3

有人可以帮我吗?

标签: androidreact-nativereact-native-fbsdk

解决方案


官方错误报告帮助我解决了这个问题:https ://developers.facebook.com/support/bugs/260814197942050/?disable_redirect=0

从上面的链接复制粘贴分辨率 - 您需要将其添加到 android/build.gradle:

def versionOverrides = [
        "com.facebook.android:facebook-android-sdk": "4.37.0",
]

allprojects {
        repositories {
                ...
        }
        configurations.all {
                resolutionStrategy.eachDependency { DependencyResolveDetails details ->
                        def overrideVersion = versionOverrides[details.requested.group + ":" + details.requested.name]

                        if (overrideVersion != null && details.requested.version != overrideVersion) {
                                details.useVersion overrideVersion
                        }
                }
        }
}

推荐阅读