为什么java.exe在android studio中以值1退出

时间:2015-03-10 06:27:56

标签: android

错误:任务':app:dexDebug'执行失败。

  

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'C:\ Program Files \ Java \ jdk1.7.0_75 \ bin \ java.exe''已完成具有非零退出值1

10 个答案:

答案 0 :(得分:1)

已升级的gradle版本

classpath 'com.android.tools.build:gradle:1.1.2'

并更新了android studio的工作

答案 1 :(得分:1)

找到2个分辨率。

予。第一个很简单。打开AS错误日志文件(在项目目录中生成),如果它包含没有足够内存供Java使用的信息 - 只需关闭不必要的应用程序以释放内存并再次运行。

II。另一个是由于项目文件损坏(由于某种原因): 项目清理然后再在Android Studio(AS)中导入。 这是如何详细说明的。

  1. 文件 - >关闭项目(如果在AS中打开)
  2. 打开项目目录,搜索* .iml文件并删除所有文件
  3. 删除AS生成的所有内容并构建进程目录: .gradle 。理念 构建
  4. 之后再次打开AS并导入项目。 现在,等等,等等,你现在应该能够再次运行。
  5. 注意:您最终没有所有项目特定的AS设置。

    这就是我升级到最新AS时不时做的事情。这是我从未将这些与AS相关的文件提交给VCS的原因之一(并且在从VCS中重新签出后,队友总是在AS中导入)

答案 2 :(得分:0)

当你遇到这个问题时,目前尚不清楚,但我在尝试在Android Studio中进行单元测试时遇到了类似的问题。

我的问题出在我的一个依赖项(androidannotation)上。当我删除它时,我的测试运行良好。

答案 3 :(得分:0)

build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        //multiDexEnabled false

        applicationId "com.example.aishwarya.myapplication"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    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:21.0.3'
    //compile files('libs/android-support-v4.jar')
    compile files('libs/gson-2.2.4.jar')
    compile files('libs/okhttp-1.6.0.jar')
    compile files('libs/okhttp-urlconnection-1.6.0.jar')
    compile files('libs/okio-1.0.0.jar')
    compile files('libs/otto-1.3.4.jar')
    compile files('libs/picasso-2.3.1.jar')
    compile files('libs/retrofit-1.5.1.jar')
    compile files('libs/scribe-1.3.5.jar')
    compile files('libs/twitter-text-1.6.1.jar')
    compile 'com.android.support:support-v4:21.0.3'
}

答案 4 :(得分:0)

我只是添加这些行并且它有效。您可以尝试但不确定它会解决您的问题。

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_6
    targetCompatibility JavaVersion.VERSION_1_6
}

答案 5 :(得分:0)

我有同样的问题。当你的" C"开车没有空位。只需清楚" C"驱动并重新启动Android Studio。 对不起我的英语不好。

答案 6 :(得分:0)

我通过在Android Studio中升级Gradle Build版本来修复此问题。您可以使用以下方式执行此操作:

with open('test.txt', 'rb') as f1:
    with open('result.txt', 'w') as f2:
        for line in f1:
            # replace ZN should be do first (only for ZN and Z, not for others)
            line = line.replace('/ZN', '')
            line = line.replace('/Z', '')
            line = line.replace('(', '')
            line = line.replace('LVT', '')
            line = line.replace(')', '')
            f2.write(line)

答案 7 :(得分:0)

在尝试了每一个解决方案后,唯一帮助我的是删除“multiDexEnabled true”。

答案 8 :(得分:0)

让我谈谈我的故事。我在Virtual Box中安装了Ubuntu 14.04,我尝试运行gradle任务 ./ gradlew assembleDebug 来编译我的项目,该项目使用git作为版本控制系统。不幸的是,每次意外停止没有特殊原因,除了以下错误日志:

*…

:dexDebug失败 FAILURE:构建因异常而失败。 * 什么地方出了错: 任务执行失败':dexDebug'。

  

com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令' / usr / lib / jvm / java-7-openjdk-amd64 /箱/ JAVA''完成非零退出值1 *

谷歌搜索了几天,尝试了所有可能的解决方案,我仍然没有建立。然后我尝试在build.gradle文件中注释掉 multiDexEnabled ,这次gradle提供了一些更有用的提示:"版本因为翻译错误太多而停止了# 34;,这样的事情。然后我运行了 git status ,发现了很多错误日志,如下所示:

error logs

此外,错误日志文件的数量几乎与构建失败次数相同。那就是它!每个构建失败都会生成一个错误日志文件!

检查其中一个错误日志hs_err_pid3143.log,并确保构建失败是由内存不足引起的。

insufficient memory

所以解决方案相对容易:

  1. 关闭VirtualBox中的Ubuntu操作系统。
  2. 将基本内存从4G扩展到6G,并在VirtualBox中重新启动Ubuntu OS。
  3. 注意:一般来说,dexDebug任务会占用大部分内存。在我的例子中,VirtualBox中的基本内存在更改为6GB之前为4GB,而javaMaxHeapSize已设置为" 4g",它仍然失败。

    dexOptions {
        javaMaxHeapSize "4g"
    }
    

    有时候建设并不容易,希望我的帖子有所帮助。

答案 9 :(得分:-1)

问题在于这一行

('com.android.support:support-v4:22.0.0')
来自依赖项的

dependencies {
compile files('libs/cordova-2.7.0.jar')
compile files('libs/google-play-services.jar')
compile files('libs/java_websocket.jar')
compile 'com.android.support:support-v4:22.0.0'
}
在project.gradle文件中

删除它..