【问题标题】:Error:Execution failed for task ':app:dexDebug'. com.android.ide.common.internal.LoggedErrorException: Failed to run command:错误:任务“:app:dexDebug”执行失败。 com.android.ide.common.internal.LoggedErrorException:无法运行命令:
【发布时间】:2015-04-21 20:26:59
【问题描述】:
错误:任务 ':app:dexDebug' 执行失败。
 com.android.ide.common.internal.LoggedErrorException:无法运行命令:
    C:\Users\xxx\AppData\Local\Android\sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --multi-dex --main-dex-list C:\___ \android\GooglePlus_1\app\build\intermediates\multi-dex\debug\maindexlist.txt --output C:\___\android\GooglePlus_1\app\build\intermediates\dex\debug --input-list=C:\ ___\android\GooglePlus_1\app\build\intermediates\tmp\dex\debug\inputList.txt
错误代码:
    3

意外的顶级错误:
    java.lang.OutOfMemoryError:Java 堆空间
        在 com.android.dx.dex.code.RopTranslator.outputBlock(RopTranslator.java:253)
        在 com.android.dx.dex.code.RopTranslator.outputInstructions(RopTranslator.java:233)
        在 com.android.dx.dex.code.RopTranslator.translateAndGetResult(RopTranslator.java:212)
        在 com.android.dx.dex.code.RopTranslator.translate(RopTranslator.java:105)
        在 com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:317)
        在 com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:137)
        在 com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:93)
        在 com.android.dx.command.dexer.Main.processClass(Main.java:729)
        在 com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
        在 com.android.dx.command.dexer.Main.access$300(Main.java:83)
        在 com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
        在 com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
        在 com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
        在 com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
        在 com.android.dx.command.dexer.Main.processOne(Main.java:632)
        在 com.android.dx.command.dexer.Main.processAllFiles(Main.java:505)
        在 com.android.dx.command.dexer.Main.runMultiDex(Main.java:334)
        在 com.android.dx.command.dexer.Main.run(Main.java:244)
        在 com.android.dx.command.dexer.Main.main(Main.java:215)
        在 com.android.dx.command.Main.main(Main.java:106)

Gradle 文件:

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.googleplus_1"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:7.0.0'
    compile 'com.google.gdata:core:1.47.1'
}
/*
configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
    all*.exclude group: 'com.google.android.gms', module: 'play-services'
}*/

【问题讨论】:

  • 您没有足够的 Java 堆空间。您是否更改了虚拟机设置?
  • 不,我没有改变。出于某种原因,现在我收到一个差异错误消息。错误:任务“:app:dexDebug”执行失败。 > com.android.ide.common.internal.LoggedErrorException:无法运行命令:C:\Users\bhurata\AppData\Local\Android\sdk\build-tools\21.1.2\dx.bat --dex --no -optimize --multi-dex --main-dex-list C:___\android\GooglePlus_1\app\build\intermediates\multi-dex\debug\maindexlist.txt --output C:___\android\GooglePlus_1\app\ build\intermediates\dex\debug --input-list=C:___\android\GooglePlus_1\app\build\intermediates\tmp\dex\debug\inputList.txt 错误代码:3
  • 我不知道,对不起...
  • 我发现添加 this: compile 'com.google.gdata:core:1.47.1' 会导致问题。有什么想法吗?

标签: android gradle


【解决方案1】:

为什么要添加com.google.gdata:core:1.47.1

如果你在它的官方网站上阅读:http://code.google.com/p/gdata-java-client/,它会说:

Android 支持:如果您正在为 Android 开发并且您要使用的 Google API 包含在 Google Play Services 库中, 您应该使用该库以获得最佳性能和体验。 如果您要与 Android 一起使用的 Google API 不属于 Google Play Services 库,您可以使用Google APIs Client Library for Java,它支持 Android 1.5(或更高版本)并提供 其他功能,例如 OAuth 2.0 和 Maven。

建议你使用:

  repositories {
      mavenCentral()
  }

  dependencies {
      compile 'com.google.api-client:google-api-client:1.18.0-rc'
  }

对于 Google Play 服务非常重要,不要直接使用“整体”依赖:

dependencies {
    compile 'com.google.android.gms:play-services:7.0.0'
}

选择您需要的单个模块

dependencies {
    # Google+
    com.google.android.gms:play-services-plus:7.0.0
    # Google Account Login
    com.google.android.gms:play-services-identity:7.0.0
    # Google Actions, Base Client Library
    com.google.android.gms:play-services-base:7.0.0
    # Google App Indexing
    com.google.android.gms:play-services-appindexing:7.0.0
    # Google Analytics
    com.google.android.gms:play-services-analytics:7.0.0
    # Google Cast
    com.google.android.gms:play-services-cast:7.0.0
    # Google Cloud Messaging
    com.google.android.gms:play-services-gcm:7.0.0
    # Google Drive
    com.google.android.gms:play-services-drive:7.0.0
    # Google Fit
    com.google.android.gms:play-services-fitness:7.0.0
    # Google Location, Activity Recognition, and Places
    com.google.android.gms:play-services-location:7.0.0
    # Google Maps
    com.google.android.gms:play-services-maps:7.0.0
    # Google Mobile Ads
    com.google.android.gms:play-services-ads:7.0.0
    # Google Nearby
    com.google.android.gms:play-services-nearby:7.0.0
    # Google Panorama Viewer
    com.google.android.gms:play-services-panorama:7.0.0
    # Google Play Game services
    com.google.android.gms:play-services-games:7.0.0
    # SafetyNet
    com.google.android.gms:play-services-safetynet:7.0.0
    # Google Wallet
    com.google.android.gms:play-services-wallet:7.0.0
    # Android Wear
    com.google.android.gms:play-services-wearable:7.0.0
}

来源: http://developer.android.com/google/play-services/setup.html

【讨论】:

  • Jared,非常感谢您的回答。我会回答你的问题:“你为什么要添加 com.google.gdata:core:1.47.1?” :我正在使用它从 Picasa (Google+) 访问相册。此外,当我包含各个模块时,错误就消失了。
  • @GreenApple 好!我相信图书馆是如此之大,它占用了您计算机的大量内存。
猜你喜欢
  • 2016-12-13
  • 2015-05-16
  • 1970-01-01
  • 2015-05-09
  • 1970-01-01
  • 2016-04-03
相关资源
最近更新 更多