web-dev-qa-db-ja.com

React Native Android:メソッドはスーパータイプのメソッドをオーバーライドまたは実装しません

反応するネイティブプロジェクトにreact-native-fbsdkを追加し、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内の次のコードスニペットを指します。

@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

私はこれが私のローカルセットアップの問題であると疑っています。ここで何が間違っているのでしょうか?

15
Jon Cursi

このエラーは非常にあいまいです(そして、ネイティブのリアクションリリースフローでは少し混乱しています)。

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

14
Wesley Overdijk