web-dev-qa-db-ja.com

Reactネイティブ:AndroidXに移行

今日Android RNプロジェクトを実行しましたが、次のエラーが表示されました

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

これを解決するにはAndroidXへの移行が必要だと思います。

私はプロジェクトをバックアップし、Android Studioを使用しないでそれを実行しようとしました。また、手動でgradle.propertiesファイル

Android.enableJetifier=true
Android.useAndroidX=true

この後、サポートされているライブラリをapp/build.gradleから削除し、targeted targetSdkVersionを28に設定してみました。

これらの試みは私にとってより多くのエラー、特にこれをもたらしました

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

私はReact Wix Navigation V2でネイティブ0.58.6を使用しています。助けていただければ幸いです

6
jschuss

Ahmedが投稿した答えは、AndroidXに移行した後の優れたソリューションです。私の場合、まだかなり欲しくはなく、アプリケーションの1つのライブラリだけが this スレッドからAndroidXを使用していることがわかりました

簡単に言えば、私の解決策は単にyarn upgrade react-native-device-info@latestアプリを再ビルドした後、期待どおりにビルドされます

1
jschuss