当前位置: 首页 > 知识库问答 >
问题:

任务': app: transformDexArchiveSusDexMergerForDebug'执行失败。-React Native

黄意智
2023-03-14

我用react native编写了一个应用程序,它以前工作得很好,但当我安装RN异步存储时。我不会更改原生android代码中的任何内容

运行应用程序时出错。

我试图删除它,并重建我的应用程序,但问题仍然是我不知道为什么!

我正在尝试运行这些命令

rm -rf node_modules 
npm install

然后

cd android && gradlew clean

它正在成功地构建,没有任何错误

但是在运行< code > react-native run-Android 之后

我得到了

出了什么问题:任务“:应用程序:转换DexArchive与DexMergerForDebug”的执行失败。转换异常: java.lang.Runtime 异常: java.lang.Runtime异常:了解如何解决此问题,请访问 https://developer.android.com/tools/building/multidex.html

那么我该怎么解决呢?

共有3个答案

卫君博
2023-03-14

可能是MinSDK版本问题。在dir.android/build.gradle中尝试minSdkVersion=21。

跟着这个答案-

https://stackoverflow.com/a/61341015/10638877

益银龙
2023-03-14

卸载npm包的正确方法是

npm卸载

如果你只是删除node_modules它不会从packue.json文件中删除,当你再次进行npm安装时,如果没有从pack.json文件中删除,软件包将被安装。

. dex文件中方法引用的数量不能超过64K。了解如何解决此问题以修复此错误,您可能需要启用此处提到的multidex

叶建柏
2023-03-14

这就是解决方案。

首先,让我们解决多种商品的问题。在您的< code > myapp/android/app/build . grad le 文件中,查找Android和defaultConfig中的代码块,然后添加如下所示的行< code > multi dexed enabled true :

android {
    ...

    compileOptions {
        ...
    }

    defaultConfig {
        applicationId "com.myapp"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"
        multiDexEnabled true //ADD THIS LINE 'multiDexEnabled true' Inside the defaultConfig code block
    }

}

其次,清除npm的有效方法是首先删除node_modules文件夹,然后运行命令npm i,然后npm start--reset-cache

第三,使渐变干净的有效方法是运行此命令cd android,然后清理

运行这些步骤后,你应该可以走了。一切顺利。

 类似资料: