在生成主要dex列表时反应本机错误

时间:2019-06-21 15:46:32

标签: android react-native apk

我尝试了stackoverflow和github中提供的大多数答案,方法是添加

multiDexEnabled true 
dexOptions{javaMaxHeapSize "4g"} 

但是没有运气,我认为我的问题是依赖关系。当我运行cd android ./gradlew clean然后gradlew assembldebug或react-native run-android时遇到的实际错误是

  

出了什么问题:执行失败   任务”:app:transformClassesWithMultidexlistForDebug”。   com.android.build.api.transform.TransformException:时出错   生成主要的dex列表。

在Android Studio中进行构建会显示以下错误:

  

程序类型已经存在:   androidx.versionedparcelable.CustomVersionedParcelable

添加

android.useAndroidX=true
android.enableJetifier=true

由于我在项目中使用的大多数react-native库未转换为androidx,因此导致了更多问题

  

执行任务失败   ':react-native-navigation:compileReactNative57_5DebugJavaWithJavac'

所以我的意图是从androidx退缩,有办法吗?

2 个答案:

答案 0 :(得分:1)

经过一天的研究,找不到正确的方法来从androidx进行回滚,并将所有react-native依赖项手动转换为androidx似乎是一项繁琐的工作,但是由于有了这个库jetifier,我得以做到所以只要运行

npm i --save-dev jetifier
npx jetify

答案 1 :(得分:-1)

在您的gradle.properties

中尝试一下
android.useAndroidX=true
android.enableJetifier=true

它接缝了一些您的android依赖项迁移到androidX 因此,您也可以在代码中启用它。
也可以在堆栈溢出Error: "Program type already present: androidx.versionedparcelable.CustomVersionedParcelable"

上查看此问题