【问题标题】:Error when i include gradle's library当我包含 gradle 的库时出错
【发布时间】:2015-04-24 05:22:58
【问题描述】:

我在我的项目中包含compile 'com.specyci:residemenu:1.6+' 库。我有一个错误:

Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
    C:\Users\...\AppData\Local\Android\sdk\build-tools\22.0.0\dx.bat --dex --no-optimize --output C:\projects\android-customer\app\build\intermediates\dex\debug --input-list=C:\projects\android-customer\app\build\intermediates\tmp\dex\debug\inputList.txt
Error Code:
    2
Output:
    UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
        at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502)
        at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277)
        at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491)
        at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168)
        at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
        at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)
        at com.android.dx.command.dexer.Main.run(Main.java:246)
        at com.android.dx.command.dexer.Main.main(Main.java:215)
        at com.android.dx.command.Main.main(Main.java:106)

我试过了

packagingOptions {
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/inputList'
    }

但这无济于事。我该如何解决这个问题?

【问题讨论】:

  • 您的 gradle 文件顶部是否有存储库 { mavenCentral() }?
  • 可能你忘记取消勾选“设置 -> 构建,... -> Gradle”中的“离线工作”

标签: android


【解决方案1】:

这个文件C:\projects\android-customer\app\build\intermediates\tmp\dex\debug\inputList.txt有问题,可能是格式不匹配。尝试打开此文件并再次重新保存。之后清理项目。希望对您有所帮助。

更新

尝试也将其添加到您的Gradle

android {
    defaultConfig {
       ...
       multiDexEnabled = true
    }
}

Source

另一个linkone more

【讨论】:

  • 我清理了项目。我知道这个文件有这个问题我该如何解决这个问题?
  • 尝试打开并保存为txt格式的新文件,我看到图片有类似问题,需要重新保存,因为格式错误。请检查我给你的链接,也可能有解决方案。
  • multiDexEnabled = true 没有帮助(((((
  • 检查一下stackoverflow.com/questions/27377080/…,您可能已经达到了您项目中可能包含的方法的数量。我记得允许的数量接近 65 000。所以项目将不再接受任何库。也尝试从谷歌添加这个库,它是谷歌发布的,它可能会有所帮助。上面链接中描述的所有内容
  • 我不认为这是由于溢出方法。我安装了插件,发现不完全是65000
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多