如何解决“无法将新索引 65536 合并到非巨型指令中!”在日食中

Posted

技术标签:

【中文标题】如何解决“无法将新索引 65536 合并到非巨型指令中!”在日食中【英文标题】:How to resolve "cannot merge new index 65536 into a non-jumbo instruction!" in Eclipse 【发布时间】:2016-02-08 09:07:34 【问题描述】:

当我启动应用程序时,我的 Eclipse IDE 控制台显示以下错误/警告

[2015-11-07 12:08:56 - Dex Loader] Unable to execute dex: Cannot merge new index 65536 into a non-jumbo instruction!
[2015-11-07 12:08:56 - <AppName>] Conversion to Dalvik format failed: Unable to execute dex: Cannot merge new index 65536 into a non-jumbo instruction!

任何人都可以为此给出明确的解决方案,他们中可能有人为android Studio提供了解决方案,我尝试了以下

 1. Added dex.force.jumbo=true as very firstl ine in my project.properties file
 2. Enabled proguard.config=$sdk.dir/tools/proguard/proguard-android.txt:proguard-project.txt 

谁能提供 ECLIPSE IDE 的解决方案。提前致谢。

【问题讨论】:

【参考方案1】:

您正在达到 65535 方法 Dex 限制。

随着开发人员引入 Android 支持库之类的东西,这种情况变得越来越普遍。

我会建议两件事:

首先,将您的应用迁移到 Android Studio!这可能不是您想听到的,但 Google 正在放弃对 Eclipse ADT 插件的支持。

其次,添加 multidex 支持,如开发者文档中所述:http://developer.android.com/tools/building/multidex.html

我了解开发人员可能不得不从 Eclipse 切换到 Android Studio。但是,如果你不这样做,你很快就会被甩在后面。现在所有最新的工具都以 Gradle 为中心。

【讨论】:

感谢您的回复,不幸的是现在我无法切换IDE,因为我的应用程序有更多的参考库 @Aerrow:我当然理解有时你​​会被你所拥有的开发环境所困。你有没有考虑过使用 proguard 来帮助精简? @Michael Krause:您能否提供任何有关如何启用 prograud 的文档/视频教程,因为我引用了一些链接,他们简单地取消注释这一行 #proguard.config=$sdk.dir/ tools/proguard/proguard-android.txt:proguard-project.txt 在属性文件中,我可以知道这是我需要替换当前应用程序路径的所有其他内容的共同点

以上是关于如何解决“无法将新索引 65536 合并到非巨型指令中!”在日食中的主要内容,如果未能解决你的问题,请参考以下文章

如何解决包冲突问题

如何解决包冲突问题

如何解决ajax跨域问题

MySQL 的 10048问题,如何解决?

如何解决smartgit的冲突问题

如何解决https传输图片的问题