web-dev-qa-db-ja.com

Android studioでbuildToolsVersion '23 .0.1 'を更新した後のメモリ不足の問題

buildToolsVersion '22.0.1'buildToolsVersion '23.0.1'に更新した後、メモリの問題が頻繁に発生します。このエラーはbuildToolsバージョン23.0.1。一方、22.0.1に変更すると正常に動作します。私を助けてください。次のように私が得ているエラーを投稿しています、

Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: GC overhead limit exceeded
Uncaught translation error: Java.util.concurrent.ExecutionException: Java.lang.OutOfMemoryError: Java heap space
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.Android.build.transform.api.TransformException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.7.0_25\bin\Java.exe'' finished with non-zero exit value 1

build.gradle

apply plugin: 'com.Android.application'

Android {
    compileSdkVersion 23
    buildToolsVersion '23.0.1'

    defaultConfig {
        applicationId "com.example.app"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        // Enabling multidex support.
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {

    compile 'com.Android.support:appcompat-v7:23.0.1'
    compile 'com.Android.support:support-v4:23.0.1'
    compile 'com.Android.support:design:23.0.0'
    compile 'com.Android.support:cardview-v7:23.0.1'
    compile 'com.Android.support:recyclerview-v7:23.0.1'
    compile 'com.Android.support:palette-v7:23.0.1'
    compile 'com.google.Android.gms:play-services:7.5.0'
}

前もって感謝します。

74
Chandru

これをbuild.gradleファイルのAndroidクロージャーに追加します。

dexOptions {
    javaMaxHeapSize "4g"
}

GCオーバーヘッド制限超過エラーの原因となるAndroid Studio Google JARファイル

197
mhdjazmati

受け入れられた答えは機能しますが、dexOptionsbuild.gradleのどこに置くかについて少し混乱しました。実際にAndroidセクションの下に配置します。

スニペットの例:

Android {

    dexOptions {
        javaMaxHeapSize "4g"
    }

    ......
}
29
Max

実際、私にとっては、上記のすべてを組み合わせ、さらにモジュールのbuild.gradleファイルでmultidexを有効にする、より複雑なソリューションを作成しました。

A. defaultConfigセクションにこの行を追加して、multiDexを有効にします

// Enabling multidex support.
multiDexEnabled true

B. dexOptionsを次のように設定するより:

dexOptions {
    incremental true
    javaMaxHeapSize "4G"
}

C. multidexに変更し、ヒープを4gに設定した後、オーバーフローエラーが発生し、プロジェクトのgradle.propertiesファイルのjvmargs行のコメントを外して変更する場合があります。

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

値はマシンによって異なる場合があります。 double値を使用することもできます。

13
Codrut TG

上記の手順に加えて、jvm引数を設定する別のオプションがあります。

org.gradle.jvmargs="-Xms2g -Xmx4g" in gradle.properties .

この設定は、メモリを調整するためのものです。 Xms:開始メモリXmx:最大メモリ

4
Annada

この問題を解決しました

  1. 「システム」に移動します
  2. 高度な環境設定
  3. _Java_OPTIONS値を「-Xms1024m」から「-Xms2048m」に編集します
    (_ Java_OPTIONSが存在しない場合は、新規ボタンをクリックして作成します)
  4. 再起動して保存

あなたにとっても役立つと思います。この答えが役に立つとしたら。

2
Dinesh
dexOptions {
        javaMaxHeapSize "4g"
    }

Build.gradleファイル(モジュールレベル)にこれを追加することで同じ問題に直面していましたが、私の問題を解決しました

0
Mohsin Bagwan