要在进程中运行dex,Gradle守护程序需要更大的堆.它目前有910 MB

Däñ*_*rmà 18 android android-studio

实际上,主要错误是" java.exe以非零退出值1完成".首先我告诉你安装工作室后我面临的每个问题:

三天前,我刚刚安装了android studio&我创建了新项目.

1)首先它抛出错误"插件太旧,请更新到更新的版本",搜索谷歌后我改变了

classpath : com.android.tools.build:gradle:2.0.0-alpha2
Run Code Online (Sandbox Code Playgroud)

classpath : com.android.tools.build:gradle:2.0.0-alpha8
Run Code Online (Sandbox Code Playgroud)

当前错误已解决.

2)之后它要求gradle 2.10,我也更新了这个并设置路径. 在此输入图像描述 当前错误已解决.

3)当我运行我的应用程序时,我又得到一个错误" app-debug-unaligned.apk,为属性'输入文件指定'不存在".

我在互联网上搜索,我在stackoverflow上得到了一个解决方案.所以作为stackoverflow的答案,我去"Build"和我选择build apk.

当前错误已解决.

4)但在那之后我又得到了一个错误

"要在进程中运行dex,Gradle守护程序需要更大的堆.它目前有910 MB.对于更快的构建,将Gradle守护程序的最大堆大小增加到1G以上.

java.exe 完成非零退出值1".

我一直在stackoverflow上搜索最近三天,我逐个应用了每一个答案,但我无法解决错误.请救我的命,我真的厌倦了这个问题.我告诉你图像究竟会出现什么错误在此输入图像描述

我的build.gradle档案

apply `plugin: com.android.application`

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "java.danish.org.myapplication"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
}
Run Code Online (Sandbox Code Playgroud)

我更新了所有SDK平台和SDk工具.在此输入图像描述

在此输入图像描述

请告诉我这里我做错了什么.

Eug*_*nec 29

问题

在gradle插件版本2.0.0-alpha7和-alpha8中,Dex在gradle构建过程中运行,而不是单独的过程.

选项a)

将gradle插件版本更改为2.0.0-alpha9,默认情况下禁用进程内Dex.

classpath 'com.android.tools.build:gradle:2.0.0-alpha9'
Run Code Online (Sandbox Code Playgroud)

选项b)

在您的应用模块中禁用进程内dex build.gradle:

android {
    // ...
    dexOptions {
        dexInProcess = false
    }
}
Run Code Online (Sandbox Code Playgroud)

选项c)

增加可用于gradle进程的内存.

gradle.properties在项目根目录中创建或更新文件:

# Default value: -Xmx10248m -XX:MaxPermSize=256m
org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=512m
Run Code Online (Sandbox Code Playgroud)

并更新您的应用模块build.gradle文件:

dexOptions {
    preDexLibraries true
    javaMaxHeapSize "3g"
    incremental true
    dexInProcess = true
}
Run Code Online (Sandbox Code Playgroud)

这些值是实验性的,适用于我的设置.我使用3 GB用于dex和4 GB用于gradle(3 + 1 GB).

注意

如果你有任何问题更新到alpha9无论如何.

  • @DäñishShärmà在此期间你可以尝试-beta2刚刚推出.http://tools.android.com/recent/androidstudio20beta2availableincanarychannel如果没有任何效果,可以回到1.5.0.你不会得到Instant Run,但我发现它对于生产工作来说不可靠. (2认同)

Däñ*_*rmà 6

我找到了解决方案.

变化1)

 dexOptions {
            javaMaxHeapSize "4g"
        }
Run Code Online (Sandbox Code Playgroud)

2)

 lintOptions {
            checkReleaseBuilds false
            abortOnError false
        }
Run Code Online (Sandbox Code Playgroud)

这是我的新功能build.gradle,现在一切正常.

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0 rc4"

    dexOptions {
        javaMaxHeapSize "4g"
    }
    defaultConfig {
        applicationId "com.aquasoft.guesp"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.mcxiaoke.volley:library-aar:1.0.0'
    compile 'com.android.support:recyclerview-v7:23.3.0'
    compile 'com.squareup.picasso:picasso:2.5.0'
    compile 'com.google.android.gms:play-services:9.0.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.stripe:stripe-android:+'
    compile 'com.roomorama:caldroid:3.0.1'
    compile 'com.android.support:cardview-v7:23.3.+'
}
Run Code Online (Sandbox Code Playgroud)

  • -1.你不仅没有说明问题的解决方法,而且其他人已经给你了下面的答案而且你没有接受他们的答案. (2认同)