我今天运行我的 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 中删除支持的库,并将目标 targetSdkVersion
设置为 28。
这些尝试给我带来了更多的错误,特别是这个
任务“:react-native-navigation:compileReactNative57_5DebugJavaWithJavac”执行失败。
我正在使用 React Native 0.58.6 和 Wix Navigation V2。 帮助将不胜感激
最佳答案
我昨天遇到了同样的问题,终于弄明白了,上面错误的原因是在将你的android项目迁移到androidx之后,你的许多react-native库都是原生Java代码并且没有更新,我能够使用这个库来解决它 jetifier只需运行
npm i --save-dev jetifier
npx jetify
但就我而言,仍然有一些库导致了一些问题,例如我们使用 react-native-fast-image 作为解决方法,我在/中创建了一个 gradle.properties node_modules/react-native-fast-image/android 并为此模块停用了 AndroidX 和 Jetifier:
android.useAndroidX=false
android.enableJetifier=false
关于android - react native : Migrate to AndroidX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717351/