我有一个用react-native写的应用程序,它以前工作得很好但是当我安装RN async-storage时。我不改变原生Android代码中的任何内容
运行应用程序时出错。
我试图删除它并重建我的应用程序,但问题仍然是我不知道为什么!
我试着运行这些命令
rm -rf node_modules
npm install
然后
cd android && gradlew clean
而且它的建造没有任何错误
但是在运行react-native run-android
之后
我有
哪里出错了:执行任务“:app:transformDexArchiveWithDexMergerForDebug”失败。com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com. android. builder. dexing. DexArchiveMergeException:合并dex存档时出错:. dex文件中的方法引用数不能超过64K。了解如何在https://developer.android.com/tools/building/multidex.html上解决此问题
那我该怎么解决呢?
3条答案
按热度按时间7lrncoxx1#
这就是解决方案。
首先,让我们解决multiDex问题。在
myapp/android/app/build.gradle
文件中,查找android和defaultConfig中的代码块,然后添加multiDexEnabled true
行,如下所示:其次,清除npm的有效方法是首先删除node_modules文件夹,然后运行命令
npm i
,然后运行npm start --reset-cache
第三,使gradlew干净的有效方法是运行以下命令
cd android
,然后运行gradlew clean .
完成这些步骤后,您应该可以开始了。祝你好运
6ie5vjzr2#
卸载npm包的正确方法是
npm uninstall <name> --save
如果你只是简单地删除
node_modules
,它不会从package.json
文件中删除,当你再次进行npm安装时,如果没有从package.json
文件中删除,软件包将被安装moe detail here在错误日志的最后一行中提到为.dex文件中的方法引用数不能超过64K。了解如何在解决此问题以修复此错误u might need to enable multidex as mentioned here
pwuypxnk3#
可能是minSdkVersion问题。在目录下尝试minSdkVersion = 21。android/build.gradle.
按照这个答案--
https://stackoverflow.com/a/61341015/10638877