FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:dexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
D:\VGA\AndroidStudio\sdk\build-tools\21.1.1\dx.bat --dex --no-optimize --output D:\VGA\Projects\Sales-App\Android-Project\svn\android\app\build\intermediates\dex\debug --input-list=D:\VGA\Projects\Sales-App\Android-Project\svn\android\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:302)
at com.android.dx.command.dexer.Main.run(Main.java:245)
at com.android.dx.command.dexer.Main.main(Main.java:214)
at com.android.dx.command.Main.main(Main.java:106)
defaultConfig {
...
multiDexEnabled = true
}
D:\VGA\AndroidStudio\sdk\build-tools\21.1.1\dx.bat --dex --no-optimize --multi-dex --main-dex-list D:\VGA\Projects\Sales-App\Android-Project\svn\android\app\build\intermediates\multi-dex\debug\maindexlist.txt --output D:\VGA\Projects\Sales-App\Android-Project\svn\android\app\build\intermediates\dex\debug --input-list=D:\VGA\Projects\Sales-App\Android-Project\svn\android\app\build\intermediates\tmp\dex\debug\inputList.txt
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.android.dx.cf.code.ConcreteMethod.makeSourcePosistion(ConcreteMethod.java:254)
at com.android.dx.cf.code.RopperMachine.run(RopperMachine.java:306)
at com.android.dx.cf.code.Simulator$SimVisitor.visitLocal(Simulator.java:612)
at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:367)
at com.android.dx.cf.code.Simulator.simulate(Simulator.java:94)
at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:787)
at com.android.dx.cf.code.Ropper.doit(Ropper.java:742)
at com.android.dx.cf.code.Ropper.convert(Ropper.java:349)
at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:280)
at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:137)
at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:93)
at com.android.dx.command.dexer.Main.processClass(Main.java:729)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
at com.android.dx.command.dexer.Main.access$300(Main.java:82)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:632)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:505)
at com.android.dx.command.dexer.Main.runMultiDex(Main.java:332)
at com.android.dx.command.dexer.Main.run(Main.java:243)
at com.android.dx.command.dexer.Main.main(Main.java:214)
at com.android.dx.command.Main.main(Main.java:106)
我尝试将构建工具更改为最新的
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
因为默认情况下,它更改为20.0.0,似乎使用4.4w的SDK,但这并没有解决我的问题。
有人知道这里会出什么问题吗?
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
...
multiDexEnabled true
}
...
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:multidex:1.0.0'
compile 'com.android.support:appcompat-v7:21.0.2'
compile 'com.squareup:otto:1.3.5'
compile 'com.squareup.picasso:picasso:2.4.0'
compile 'com.squareup.retrofit:retrofit:1.7.1'
compile 'com.jakewharton:butterknife:6.0.0'
compile 'com.madgag.spongycastle:core:1.51.0.0'
compile 'com.madgag.spongycastle:prov:1.51.0.0'
compile 'com.madgag.spongycastle:pkix:1.51.0.0'
compile 'com.google.code.gson:gson:2.3'
compile 'commons-io:commons-io:2.4'
compile 'org.apache.httpcomponents:httpclient-android:4.3.5'
compile 'com.squareup.dagger:dagger:1.2.2'
compile 'com.squareup.dagger:dagger-compiler:1.2.2'
compile('com.googlecode.json-simple:json-simple:1.1.1') {
exclude module: 'junit'
}
compile 'com.google.android.gms:play-services:6.5.87'
}
从那以后,唯一新的依赖项是最后一行,我是按照https://developer.android.com/google/gcm/client.html添加的,所以我不认为这是问题的根源。
编辑2:
是的,这是问题的根源。由于我需要Google Cloud Messaging
,我用http://developer.android.com/google/play-services/setup.html#split:
compile 'com.google.android.gms:play-services-base:6.5.87'
compile 'com.google.android.gms:play-services-gcm:7.0.0'
编辑4:
播放服务更新到7.3.0。请在这里查看最新版本:http://developer.android.com/google/play-services/setup.html#split
该错误表示您已达到应用程序中的最大方法计数。它确实包括用于项目的任何库。
解决这个问题有两种方法:
但是,这并不是仅仅通过多德兴来解决的,因为当我添加以下内容时: 这种情况会发生 错误代码:3输出: 因为默认情况下它更改为20.0.0,似乎使用4.4w的SDK,但这并不能解决我的问题。 有没有人知道这里会出什么问题? 编辑: 从那以后唯一的新依赖是最后一行,我根据https://developer.android.com/google/gcm/client.html添加了它,所以我不认为这是问题
我以前见过各种版本的德克斯错误,但这一个是新的。清理/重新启动等不会有帮助。库项目似乎完好无损,依赖项似乎正确链接。 或 或 还有一种jumbo模式可以用一种不太可靠的方式来解决这个问题: 更新:如果您的应用程序太胖,并且您的主应用程序中有太多的方法,您可能需要按照 http://blog.osom.info/2014/12/too-many-methods-in-main-dex.html
目前,我有麻烦试图解决旧的插件错误在Android Studio。我得到了以下错误,但不知道如何解决这个问题。在stackoverflow中也有类似的问题,但是没有一个解决方案能起到帮助。这里有人可能知道解决办法吗?一些一步一步的解释将是伟大的,如果可用!我很想从你这里! 错误:(1,0)插件太旧,请更新到最新版本,或将ANDROID_DAILY_OVERRIDE环境变量设置为“fabe6db51
在eclipse中,当使用右键单击Project->Maven->Update project为maven更新project时,是否有人面临以下异常。 对话框1=>“更新Maven项目”期间出现内部错误 对话框2=>发生堆栈溢出错误。建议您退出工作台。...是否退出工作台? eclipse bug团队报告了相同的情况:https://bugs.eclipse.org/bugs/show_bug.c
最近我把我的Android Studio更新到3.6.1,没有出现任何问题,但是当Gradle完成同步时,一条错误消息就显示在我的构建和事件日志中。 (“build”消息内部) null --谢谢您提前回答。
错误:任务“app:processDebugManifest”的执行失败。 Manifest合并失败:uses-sdk: minSdkVersion 14不能小于库中声明的版本15[com.android.support: Custtabs: 23.2.1] 2/app/build/中间体/爆炸-aar/com.android.support/customtabs/23.2.1/AndroidMa