我在我的 Android 应用程序中使用 mixpanel 进行移动分析。现在为了解析 HTML dom,我添加了 Jsoup 库,并且 gradle 无法编译 Android 应用程序。
":app:dexDebugAGPBI: {"kind":"SIMPLE","text":"UNEXPECTED TOP-LEVEL EXCEPTION:","position":{},"original":"UNEXPECTED TOP-LEVEL EXCEPTION:"}
AGPBI: {"kind":"SIMPLE","text":"com.android.dex.DexIndexOverflowException: Cannot merge new index 65775 into a non-jumbo instruction!","position":{},"original":"com.android.dex.DexIndexOverflowException: Cannot merge new index 65775 into a non-jumbo instruction!"}
我猜测两个库有冲突的依赖关系。有什么办法可以解决这个问题吗?
编辑:这个 stackoverflow 答案解决了它。 com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
最佳答案
我也遇到了同样的问题。
解决此问题的正确方法是将其添加到您的 gradle 文件中
dexOptions{
jumboMode = true;
}
正确的解释在这里: Android: Jumbo Mode vs Multidex
但简而言之。当 Android 应用程序编译时,它会获取项目中声明的所有常量字符串并将它们放入 16 位列表中。您收到该错误的原因是您超出了该限制。启用巨型模式告诉编译器是一个 32 位列表
关于Android dexindexoverflow异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31740932/