我不知道为什么,但今天早上无法在手机上启动我的应用程序。我收到以下错误消息:
无法在单个dex文件中容纳请求的类。尝试提供一个主索引列表。
#方法: 68061
#方法: 68061
我对Android真的是个新手,我不明白这个问题,我需要做什么?为什么我现在遇到这个问题而不是以前?
Multidex并不总是问题的解决方案,它确实会生成更多的dex文件来满足您的方法计数,但请确保不要导入您需要的更多方法,因为从长远来看,这将使您的构建速度比以前慢。
例如,如果您只需要使用play services中的位置库,则有两个选项
第一个是实现整个游戏服务库,这将伴随着位置
implementation 'com.google.android.gms:play-services:11.8.0'
这些整个库可能有超过40.000个方法(只是一个估计,我真的不知道总数),接近达到65536个限制方法。
相反,您应该只针对将要使用的库,而不是整个库包
在这种情况下
implementation 'com.google.android.gms:play-services-location:11.8.0'
可能只有50-100个方法可以使用,这在构建时比从整个库包中加载一大堆你永远不会使用的方法要好。
这只是一个小提示避免得到
无法在单个dex文件中容纳请求的类。
Android 5.0及更高版本使用名为ART的运行时,它本机支持从应用程序APK文件加载多个dex文件。ART在应用程序安装时执行预编译,扫描类(...n). dex文件,并将其编译成单个. oat文件,供Android设备执行。有关Android 5.0运行时的详细信息,请参阅介绍ART。
Android 5.0之前的平台版本使用Dalvik运行时执行应用程序代码。默认情况下,Dalvik将应用程序限制为单个类。每个APK的dex字节码文件。为了绕过此限制,您可以使用multidex支持库,该库成为应用程序主DEX文件的一部分,然后管理对附加DEX文件及其包含的代码的访问。
在最后一种情况下,您需要使用multidex
运行RN 0.62,这对我来说是成功的构建。
classpath('com.android.support:multidex:1.0.3')
更新defaultConfig
重启用true
在这两次更改之后,再次重新启动gradle构建。
在build中添加依赖项。渐变
文件:
implementation 'androidx.multidex:multidex:2.0.1'
在build.gradle
的defaultConfig
部分添加:
multiDexEnabled true
此处的更多详细信息:错误:无法在单个dex文件中容纳请求的类。尝试提供一个主索引列表方法:72477例
问题内容: 我不知道为什么,但是今天早上无法在手机上启动我的应用程序。我收到此错误消息: 无法将请求的类放入单个dex文件中。尝试提供main-dex列表。 #方法:68061> 65536消息{种类=错误,文本=无法在单个dex文件中容纳所请求的类。尝试提供main-dex列表。 #方法:68061> 65536,sources = [未知源文件],工具 我真的是Android的新手,我不明白问
错误:null,无法在单个dex文件中容纳请求的类(#methods:66384>65536) 错误:null,无法在单个dex文件中容纳请求的类(#methods:66384>65536)
我不知道这个错误是什么意思。我正试图从youtube上做一个使用Firebase的优步应用程序,但遇到了这个错误。 无法在单个dex文件(#methods:86010>65536)com.android.tools.r8.CompilationFailedException:编译失败。
我正在尝试在最新版本的Android Studio中使用firestore和Flitter应用程序。我完全按照这些指示做了。https://www.youtube.com/watch?v=DqJ_KjFzL9I 这是我的公共档案 这是我的应用程序级渐变文件 这是我的android级gradle文件