Android Studio无法构建APK文件

时间:2015-12-01 07:25:27

标签: java android android-activity libgdx

我在Android Studio中有一个先前已成功导出的项目。但是,我更新了IDE,现在我收到了这个错误:

Error:Execution failed for task ':android:dexRelease'.
  

com.android.ide.common.internal.LoggedErrorException:无法运行命令:       C:\ Users \ Ajay \ Downloads \ android-sdk_r24.4.1-windows \ android-sdk-windows \ build-tools \ 21.0.0 \ dx.bat -JXmx4g --dex --force-jumbo --output C:\用户\ Ajay \ Downloads \ jetpack(1)\ JetPack \ game \ android \ build \ intermediates \ dex \ release --input-list = C:\ Users \ Ajay \ Downloads \ jetpack(1)\ JetPack \ game \ android \建立\中间体\ tmp目录\ DEX \发布\ inputList.txt   错误代码:       2   输出:       意外的顶级例外情况:       com.android.dex.DexIndexOverflowException:方法ID不在[0,0xffff]中:65536           在com.android.dx.merge.DexMerger $ 6.updateIndex(DexMerger.java:502)           在com.android.dx.merge.DexMerger $ IdMerger.mergeSorted(DexMerger.java:277)           在com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491)           在com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168)           在com.android.dx.merge.DexMerger.merge(DexMerger.java:189)           在com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)           在com.android.dx.command.dexer.Main.runMonoDex(Main.java:302)           在com.android.dx.command.dexer.Main.run(Main.java:245)           在com.android.dx.command.dexer.Main.main(Main.java:214)           在com.android.dx.command.Main.main(Main.java:106)

以前,我在使用Google Play服务时遇到错误。所以我把我的.build文件编辑为:

dependencies {
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.android.support:support-v4:22.0.0'
compile 'com.google.android.gms:play-services:7.8.0'

.build文件之前的位置如下:

dependencies {
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:support-v4:22.0.0'
    compile 'com.google.android.gms:play-services:+'

我不需要在更新之前编辑我的.build文件,所以我不确定是什么问题。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为问题与您的混淆工具Dexguard有关。尝试删除它并重新构建。我不熟悉Dexguard,但在Proguard中,如果在构建时删除了这些类,则使用-keep保留所需的类。

答案 1 :(得分:0)

问题是您正在实现大型库,并且您的dex文件超大。

compile 'com.google.android.gms:play-services:7.8.0'

您不需要实施整个服务。你应该分开它们。

compile 'com.google.android.gms:play-services-wearable:8.3.0'

此处有更多docs

通过这样做,你的减少项目方法。所以dex文件也会缩小。如果您的问题存在,那么您需要通过实施Multidex

来拆分您的dex文件

祝你好运。