Подтвердить что ты не робот

Проблема с нехваткой памяти после обновления buildToolsVersion '23.0.1 'в Android-студии

После обновления 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'
}

Заранее спасибо.

4b9b3361

Ответ 2

Принятый ответ работает, но я немного смутился о том, где положить dexOptions в мой build.gradle. Мы действительно положили его под раздел андроида.

Вот пример фрагмента:

android {

    dexOptions {
        javaMaxHeapSize "4g"
    }

    ......
}

Ответ 3

Фактически для меня работало более сложное решение, которое объединяет все сверху, плюс включение multidex в файле build.gradle для модуля.

а. Добавьте эту строку в раздел defaultConfig, чтобы включить multiDex

// Enabling multidex support.
multiDexEnabled true

В. Затем установите dexOptions, например:

dexOptions {
    incremental true
    javaMaxHeapSize "4G"
}

С. После перехода на multidex и установки кучи на 4g может произойти ошибка переполнения, которая приведет меня к раскомментированию и изменению строки jvmargs из файла gradle.properties проекта, например:

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

Значения могут отличаться в зависимости от вашего устройства. Вы также можете использовать двойные значения.

Ответ 4

В дополнение к вышеописанной процедуре существует еще одна опция для установки аргументов jvm.

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

Настройка предназначена для настройки памяти. Xms: запуск памяти Xmx: максимальная память

Ответ 5

Я решил эту проблему

  • перейдите в раздел "Система"
  • Настройка окружения.
  • Изменить значения _JAVA_OPTIONS с "-Xms1024m" на "-Xms2048m"
    (если нет Exist _JAVA_OPTIONS, чем создать его, нажмите "Новая кнопка" ).
  • ok и сохранить Перезагрузите

Я думаю, это будет полезно и вам. если это полезно для ответа на этот вопрос.

Ответ 6

dexOptions {
        javaMaxHeapSize "4g"
    }

Я столкнулся с той же проблемой, добавив это в файл build.gradle(уровень модуля), решив мою проблему

Ответ 7

используйте это на уровне приложения build.gradle:

android {
    dexOptions {
        javaMaxHeapSize "4g"
    }
}