随着Android平台的持续增长,因此Android应用程序的大小。当你的应用程序和库引用达到一定规模,你遇到构建错误表明你的应用已经达到了一个极限的Android应用程序构建的体系结构。早期版本的构建系统报告这个错误如下:
Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536
最近版本的Android构建系统显示一个不同的错误,这是一个同样的问题:
trouble writing output: Too many field references: 131000; max is 65536. You may try using --multi-dex option.这两个错误条件显示一个共同的数字:65536。 这个数字很重要,因为它代表了引用的总数,可以调用的代码在一个Dalvik可执行(敏捷)字节码文件。 如果你建立了一个Android应用,收到了这个错误,那么恭喜你,你有很多代码! 本文档介绍如何跨越这个限制并继续构建应用程序。
android { compileSdkVersion 21 buildToolsVersion "21.1.0" defaultConfig { ... minSdkVersion 14 targetSdkVersion 21 ... // Enabling multidex support. multiDexEnabled true } ... } dependencies { compile 'com.android.support:multidex:1.0.0' }
http://developer.android.com/intl/zh-cn/tools/building/multidex.html#avoid