【问题标题】:React Native Android: Method does not override or implement a method from a supertypeReact Native Android:方法不会覆盖或实现超类型中的方法
【发布时间】:2018-01-16 17:45:13
【问题描述】:

我已将 react-native-fbsdk 添加到我的 react native 项目中,并使其在 iOS 上构建良好。但在 android 方面,我无法获得 gradle 来构建项目。在尝试编译 react-native-fbsdk 时,我遇到了:“方法不会覆盖或实现超类型中的方法”

21:41:11.863 [INFO] [org.gradle.api.internal.tasks.compile.JdkJavaCompiler] Compiling with JDK Java compiler API.
21:41:12.100 [ERROR] [system.err] /Users/joncursi/Sites/joncursi/redbirdNative/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBSDKPackage.java:61: error: method does not override or implement a method from a supertype

它指向 react-native-fbsdk 中的以下代码 sn-p:

@Override
public List<Class<? extends JavaScriptModule>> createJSModules() {
    return Collections.emptyList();
}

当我删除 @Override 时,这个特定的错误实例消失了,但我在另一个模块(例如 react-native-image-picker)中遇到了同样的错误:

:react-native-image-picker:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
/Users/joncursi/Sites/joncursi/redbirdNative/node_modules/react-native-image-picker/android/src/main/java/com/imagepicker/ImagePickerPackage.java:34: error: method does not override or implement a method from a supertype
  @Override
  ^
1 error

我怀疑这是我本地设置的问题。关于这里可能有什么问题的任何想法?

【问题讨论】:

  • 你是如何解决这个问题的?有简单的解决方法吗?
  • 升级 react native fbsdk
  • 是的,我手动编辑了抛出错误的包......

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


【解决方案1】:

错误非常模糊(而且在 react native 发布流程中有点混乱)。

React-native 0.47.0 有一个重大变化,这意味着库必须修补他们的代码。

删除未使用的 createJSModules 调用 (ce6fb33, 53d5504) - source

我的猜测是,您只需更新出现此错误的库,否则提交 PR。

这是一个修复它的 lib 示例:https://github.com/rebeccahughes/react-native-device-info/pull/191/files

更新:

您正在等待的 PR 在这里:https://github.com/facebook/react-native-fbsdk/pull/354

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    相关资源
    最近更新 更多