【问题标题】:android studio execution failed for task- process exception for idk-1.8idk-1.8 的任务进程异常,android studio 执行失败
【发布时间】:2015-08-31 11:07:17
【问题描述】:

向项目添加 jar 文件后,我似乎无法修复此错误:

任务 ':app:dexDebug' 执行失败。 com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command'/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/java'' 完成非零退出值 1

该程序在没有 jar 文件的情况下运行,但是当我添加它时,一切都构建了,但是当我尝试运行它时它给了我这个错误。我已经搜索并尝试了以下解决方案,但没有解决该错误。

why java.exe exit with value 1 in android studio

Error:Execution failed for task ':app:dexDebug'. > comcommand finished with non-zero exit value 2

Android java.exe finished with non-zero exit value 1

由于这些解决方案都不起作用,我认为这是一个超过 65k 的方法问题,所以我编辑了我的 build.gradle,但问题仍然存在。
https://developer.android.com/tools/building/multidex.html

这是我的应用项目的 build.grade:

apply plugin: 'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig {
   ................
    minSdkVersion 15
    targetSdkVersion 21
    multiDexEnabled = true
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
    compile 'com.android.support:multidex:1.0.0'
    compile files('libs/xyz.jar')
}

我不知道如何解决这个问题。任何帮助将不胜感激。

【问题讨论】:

    标签: java android android-studio jar


    【解决方案1】:

    在尝试将纯 Java 模块添加为对 Android 模块的依赖项时,我收到此错误消息(也仅在运行而不是构建时)。虽然它只发生在 Android Studio 中,而不是来自命令行。

    我通过在普通 Java 模块的 build.gradle 中包含以下行来解决它:

    sourceCompatibility = 1.7
    

    请注意,Android Studio 将此行标记为未使用。

    【讨论】:

    • “纯 Java 模块”是什么意思?我应该把这条线放在哪个区块?
    • 只有 Java 且没有 Android 依赖项的模块,它们通常会有 apply plugin: 'java' 在其中。该行可以紧跟在应用插件行之后。
    【解决方案2】:

    尝试单击文件 > 使缓存无效/重新启动 > 无效并重新启动。构建完成后,再次运行您的项目。它对我有用。

    【讨论】:

    • 这对我不起作用。提及以防有人需要他们的当地历史。
    【解决方案3】:

    我想这与您在项目中包含的库数量有关。虽然我不确定这是否会帮助您将其放入您的 gradle 文件中:

    defaultConfig {
        ...
        multiDexEnabled true
    }
    

    但即便如此,在添加另一个库后我还是遇到了这个错误。我很幸运,一个库对应用程序来说并不重要,它是一个用于捕获内存泄漏的库,所以我删除了它,然后编译了它。由于我不是这里的专家,也许有人可以为这个主题添加一些东西?我将尝试了解有关此 65k 限制以及如何克服它的更多信息,然后再讨论。

    【讨论】:

      【解决方案4】:

      我通过切换我的 android studio 项目的 JDK 位置解决了这个错误。只需右键单击项目根目录选择打开模块设置,在 sdk 位置选项下,如果您有 2 个或更多安装,则将 JDK 位置浏览到另一个位置,在我的情况下有: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

      /Library/Java/JavaVirtualMachines/jdk1.7.0_65.jdk/Contents/Home

      【讨论】:

        【解决方案5】:

        对我来说,我打开 SDK Manager,更新所有可以更新的包,然后重新启动我的 MacBook,然后它就可以工作了。 我想知道它是否与我更新的 OSX 有关,因为我昨天将它更新到 10.10.4,我的项目很好但之后崩溃了,无论如何,尝试更新所有你可以做的事情,甚至重新安装 java。 祝你好运!

        【讨论】:

          【解决方案6】:

          错误来自您运行的是 Java 8 SDK 而不是 Java 7 SDK(在撰写本文时,Android Studio 似乎需要它)。

          我从http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 安装了 Java 7,并通过转到文件 > 其他设置 > 默认项目结构...(Android Studio 1.3)指示 Android Studio 使用 Java 7 JDK...(Android Studio 1.3)

          现在一切正常!

          【讨论】:

            猜你喜欢
            • 2015-06-04
            • 2015-05-23
            • 2016-12-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-11-18
            • 2015-02-09
            • 2016-08-27
            相关资源
            最近更新 更多