今天在Android Studio中构建Android工程时,出现了这样报错:“Cannot fit requested classes in a single dex file (# methods: 72633 > 65536)”
在网上找了一圈儿,总结个简单快速的解决方法
问题:
Cannot fit requested classes in a single dex file (# methods: 72633 > 65536)
问题原因:
参考文档:https://developer.android.com/studio/build/multidex。
“当您的应用及其引用的库包含的方法数超过 65536 时,您会遇到一个构建错误”,也就是收到了Android的64k引用的限制,那什么是64k的引用限制呢?文档:Android 应用 (APK) 文件包含 Dalvik Executable (DEX) 文件形式的可执行字节码文件,这些文件包含用来运行应用的已编译代码。Dalvik Executable 规范将可在单个 DEX 文件内引用的方法总数限制为 65536,其中包括 Android 框架方法、库方法以及您自己的代码中的方法。在计算机科学领域内,术语千(简称 K)表示 1024(即 2^10)。由于 65536 等于 64 X 1024,因此这一限制称为“64K 引用限制”。
解决办法:(最简单粗暴)
将minSdkVersion 设为 21 或更高的值,则默认情况下会启用 MultiDex,并且不需要 MultiDex 支持库。
如图所示: