android - react native : Migrate to AndroidX

标签 android android-studio react-native react-native-navigation

我今天运行我的 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/

相关文章:

java - Android 应用程序 - 带有相机应用程序的弹出菜单

android - Android Studio Gradle错误

android - 向 j8 和 jack 移动。 Gradle 同步错误

ios - 没有已知的类方法(facebook sdk 集成)

javascript - JavascriptInterface在版本> 2.1上不起作用

java - PersistenceManagerFactory 类必须定义一个静态方法?

java - 应用程序关闭时实现 Agora 信号通信

java - 无法在 Android Studio 上构建应用程序,谷歌服务冲突

android - 在 React Native 上设置 Android BroadcastReceiver

image - resizeMode 包含在 native react 中显示图像前后的空间