web-dev-qa-db-fra.com

React Android natif: la méthode ne remplace pas ou n'implémente pas une méthode à partir d'un supertype

J'ai ajouté react-native-fbsdk à mon projet natif React et le faire bien fonctionner sur iOS. Mais du côté Android côté, je ne peux pas obtenir gradle pour construire le projet. Lorsque j'essaye de compiler react-native-fbsdk, je frappe: "la méthode ne remplace pas ou n'implémente pas une méthode d'un supertype "

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

Ce qui pointe vers l'extrait de code suivant dans react-native-fbsdk:

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

Lorsque je supprime @Override, cette instance particulière de l'erreur disparaît, mais j'ai rencontré la même erreur dans un autre module tel que 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

Je suspecte que ce soit un problème avec ma configuration locale. Des idées sur ce qui pourrait mal se passer ici?

15
Jon Cursi

L'erreur est très vague (et imo un peu de gâchis dans le flux de versions natives de react).

La version 0.47.0 native de React a subi un changement de rupture qui a obligé les bibliothèques à patcher leur code.

Supprimez les appels createJSModules inutilisés (ce6fb33, 53d5504) - source

Je suppose que vous n'avez qu'à mettre à jour les bibliothèques pour lesquelles cette erreur apparaît, et sinon soumettre un PR.

Voici un exemple de bibliothèque qui le corrige: https://github.com/rebeccahughes/react-native-device-info/pull/191/files

Mise à jour:

Le PR que vous attendez est ici: https://github.com/facebook/react-native-fbsdk/pull/354

14
Wesley Overdijk