【问题标题】:Having and error related to dexFlavorEnterpriseDebug and finished with non-zero exit value 2具有与 dexFlavorEnterpriseDebug 相关的错误并以非零退出值 2 结束
【发布时间】:2015-03-03 22:48:35
【问题描述】:

我在构建项目时遇到问题。我经常遇到这个构建错误,我很确定我的 JDK 实现是正确的。我在网上阅读过类似的问题,但无济于事。我得到错误:

Error:Execution failed for task ':DriverMagic:dexFlavorEnterpriseDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

我的 Gradle 文件中的依赖项是:

dependencies {

    compile 'com.google.android.gms:play-services:5.+'
    compile 'com.splunk.mint:mint:4.0.3'
    compile 'com.android.support:appcompat-v7:18.0.+'
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.newrelic.agent.android:android-agent:3.419.0'

    compile fileTree(dir: 'libs', include: ['*.jar'])
}

Gradle 控制台全栈代码为:

Executing tasks: [:DriverMagic:assembleFlavorEnterpriseDebug]

Configuration on demand is an incubating feature.

Setting up signingConfigs...
----------------------------

computed version name: 2.0.1e
computed version name: 2.0.1
:DriverMagic:preBuild UP-TO-DATE
:DriverMagic:preFlavorEnterpriseDebugBuild UP-TO-DATE
:DriverMagic:compileFlavorEnterpriseDebugNdk UP-TO-DATE
:DriverMagic:checkFlavorEnterpriseDebugManifest
:DriverMagic:preFlavorEnterpriseReleaseBuild UP-TO-DATE
:DriverMagic:preFlavorPlayStoreDebugBuild UP-TO-DATE
:DriverMagic:preFlavorPlayStoreReleaseBuild UP-TO-DATE
:DriverMagic:prepareComAndroidSupportAppcompatV71800Library UP-TO-DATE
:DriverMagic:prepareComGoogleAndroidGmsPlayServices5089Library UP-TO-DATE
:DriverMagic:prepareFlavorEnterpriseDebugDependencies
:DriverMagic:compileFlavorEnterpriseDebugAidl UP-TO-DATE
:DriverMagic:compileFlavorEnterpriseDebugRenderscript UP-TO-DATE
:DriverMagic:generateFlavorEnterpriseDebugBuildConfig UP-TO-DATE
:DriverMagic:generateFlavorEnterpriseDebugAssets UP-TO-DATE
:DriverMagic:mergeFlavorEnterpriseDebugAssets UP-TO-DATE
:DriverMagic:generateFlavorEnterpriseDebugResValues UP-TO-DATE
:DriverMagic:generateFlavorEnterpriseDebugResources UP-TO-DATE
:DriverMagic:mergeFlavorEnterpriseDebugResources UP-TO-DATE
:DriverMagic:processFlavorEnterpriseDebugManifest UP-TO-DATE
:DriverMagic:processFlavorEnterpriseDebugResources UP-TO-DATE
:DriverMagic:generateFlavorEnterpriseDebugSources UP-TO-DATE
:DriverMagic:compileFlavorEnterpriseDebugJava UP-TO-DATE
:DriverMagic:preDexFlavorEnterpriseDebug UP-TO-DATE
:DriverMagic:dexFlavorEnterpriseDebug
AGPBI: {"kind":"SIMPLE","text":"objc[5651]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.","position":{},"original":"objc[5651]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined."}
AGPBI: {"kind":"SIMPLE","text":"UNEXPECTED TOP-LEVEL EXCEPTION:","position":{},"original":"UNEXPECTED TOP-LEVEL EXCEPTION:"}
AGPBI: {"kind":"SIMPLE","text":"com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536","position":{},"original":"com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502)","position":{},"original":"\tat com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277)","position":{},"original":"\tat com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:277)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491)","position":{},"original":"\tat com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168)","position":{},"original":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:189)","position":{},"original":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:189)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)","position":{},"original":"\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)","position":{},"original":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.run(Main.java:246)","position":{},"original":"\tat com.android.dx.command.dexer.Main.run(Main.java:246)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.main(Main.java:215)","position":{},"original":"\tat com.android.dx.command.dexer.Main.main(Main.java:215)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main.java:106)","position":{},"original":"\tat com.android.dx.command.Main.main(Main.java:106)"}


 FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':DriverMagic:dexFlavorEnterpriseDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 6.526 secs

【问题讨论】:

  • 某些依赖项使用 com.android.support 与您不同的版本。 compile 'android.support:android-support-v4:$version' 与 compile 'com.android.support:appcompat-v7:18.0.+' 冲突

标签: android debugging android-studio gradle dex


【解决方案1】:

答案在您的 Gradle 控制台中:

JavaLaunchHelper 类在两者中都实现 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/bin/java 和 /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home/jre/lib/libinstrument.dylib。 将使用两者之一。哪一个是未定义的。”

它不知道应该使用哪一个 - 删除一个,问题应该得到解决。

【讨论】:

  • 我想知道是否需要删除库中的文件 java。还有一件事,我找不到 Home/jre。
  • 你可以使用System.getProperty("java.home")find它。
  • 我已经删除了文件,但同样的错误仍然存​​在。有没有其他方法可以解决这个问题?
  • 你不应该删除文件,你应该删除 gradle 依赖。问题是,您正在从两个包中导入一个类(JavaLaunchHelper),而 gradle 不知道应该导入哪一个。我不知道您还能做什么,但您最近可能正在更改您的 gradle 文件,并且该更改导致了此错误。
【解决方案2】:

如果您已经更新了您的 SDK 并且您还使用了 google-play-services,那么您需要注意依赖关系,因为与以下内容存在某种冲突:

请遵循以下内容: 编译 'com.google.android.gms:play-services:+' 代替 通过编译'com.google.android.gms:play-services:6.5.87'

注意:这里的“6.5.87”是 google-play-service 版本。 我希望它会有所帮助..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-27
    • 2015-07-11
    • 2015-08-01
    • 2015-07-12
    • 2015-08-28
    • 2016-05-04
    • 1970-01-01
    相关资源
    最近更新 更多