web-dev-qa-db-fra.com

React Native: Migrer vers AndroidX

J'ai exécuté mon Android RN aujourd'hui et j'ai reçu l'erreur suivante

Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.Android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
  Learn how to resolve the issue at https://developer.Android.com/studio/build/dependencies#duplicate_classes.
  Program type already present: Android.support.v4.app.INotificationSideChannel$Stub

Je pense que pour résoudre ce problème, il est nécessaire de migrer vers AndroidX.

J'ai sauvegardé mon projet et tenté de le faire avec Android Studio en vain. J'ai également essayé de le configurer manuellement dans mon gradle.properties fichier

Android.enableJetifier=true
Android.useAndroidX=true

Après cela, j'ai essayé de supprimer les bibliothèques prises en charge de mon application/build.gradle, ainsi que de définir targetSdkVersion ciblé sur 28.

Ces tentatives ont entraîné plus d'erreurs pour moi, en particulier celle-ci

Execution failed for task ':react-native-navigation:compileReactNative57_5DebugJavaWithJavac'.

J'utilise React Native 0.58.6 avec Wix Navigation V2. L'aide serait très appréciée

6
jschuss

La réponse que Ahmed a publiée est une excellente solution une fois que vous avez migré vers AndroidX. Dans mon cas, je ne le voulais pas encore et j'ai découvert qu'une seule bibliothèque de mon application utilisait AndroidX à partir de this thread

En bref, ma solution était de simplement yarn upgrade react-native-device-info@latest La génération de l'application comme prévu après sa reconstruction

1
jschuss