Android打包apk出现以下错误:

   Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

   原因是Android应用的方法总数有限制,超过了打包就不成功。

   

    具体是为什么呢?

   原因是Android平台的Java虚拟机Dalvik在执行DEX格式的Java应用程序时,使用原生类型short来索引DEX文件中的方法。

   short是16位的。这意味着单个DEX文件可被引用的方法总数被限制为65536。这包括Android框架、类库和你自己开发的代码。

   解决这个问题,据说可以使用多dex文件解决,构建超过65K方法数的应用介绍了如何使用Gradle构建多DEX应用。

但是比较麻烦。如果你使用的开发工具是idea,就可以通过以下版本来解决:

  File->Setting打开设置界面,搜索compile。

  打开Android compile选项,勾选“Force Jumbo mode”,后,  重新编译,(build->rebulid Project)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐