Java.exe закончил с ненулевым значением выхода 2 в Android Studio

Эта ошибка возникла после того, как я добавил компиляцию 'org.apache.httpcomponents: httpmime: 4.2.3'. Не удается найти решение. Я также попробовал несколько файлов dex true в разделе конфигурации по умолчанию. Я также попытался создать еще одно приложение для тестирования, которое успешно выполнялось.

Ошибка: выполнение выполнено для задачи ': app: transformClassesWithDexForDebug'. com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command' C:\Program Files\Java\jdk1.7.0_79\bin\java.exe '' закончил с ненулевым значением выхода 2

Это мой файл build.gradle.

apply plugin: 'com.android.application'

    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"

        defaultConfig {
            applicationId "com.example.qualwebs.assistme"
            minSdkVersion 19
            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'
        compile 'de.hdodenhof:circleimageview:2.0.0'
        compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
        compile 'com.oguzdev:CircularFloatingActionMenu:1.0.2'
        compile 'com.getbase:floatingactionbutton:1.10.1'
        compile 'org.apache.httpcomponents:httpmime:4.2.3'
    }

Ответ 1

Плагин Android для Gradle, доступный в Android SDK Build Tools 21.1 и выше поддерживает multidex как часть вашей конфигурации сборки. Убедитесь, что вы обновили инструменты Android SDK Build Tools и Android Поддерживать репозиторий до последней версии с помощью диспетчера SDK до пытаясь настроить ваше приложение для multidex.

Настройка проекта разработки приложений для использования конфигурации с несколькими приложениями требует внесения нескольких изменений в проект разработки приложений. В частности, вам необходимо выполнить следующие шаги:

  • Измените конфигурацию сборки Gradle, чтобы включить multidex
  • Изменить манифест для ссылки на класс MultiDexApplication

Измените конфигурацию файла приложения Gradle, чтобы включить библиотеку поддержки и включить вывод multidex.

    android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        ...
        minSdkVersion 19
        targetSdkVersion 23
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.android.support:multidex:1.0.1'
}

В манифесте добавьте класс MultiDexApplication из библиотеки поддержки multidex в элемент приложения.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

Edited

Вы можете использовать

compile 'org.apache.httpcomponents:httpmime:4.5.1' 

Прочитайте

https://developer.android.com/intl/es/tools/building/multidex.html

Ответ 2

У вас проблема с файлом multidex, поэтому добавьте ниже зависимости от вашего файла приложения Gradle.

compile 'com.android.support:multidex:1.0.1'

Также добавьте эту строку:

defaultConfig {

    applicationId 'pkg'
    minSdkVersion 
    targetSdkVersion 
    versionCode 
    versionName 

    // Enable MultiDexing:  https://developer.android.com/tools/building/multidex.html
    multiDexEnabled true
}

Также добавьте ниже в Manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.multidex.myapplication">
    <application
        ...
        android:name="android.support.multidex.MultiDexApplication">
        ...
    </application>
</manifest>

Отредактировано:

Попробуйте следующее:

Изменить настройку

Ctrl + Alt + S → Компилятор → Gradle

Поле параметров InVM:

-Xmx2048m -XX: MaxPermSize = 512 м

Добавить в Gradle

dexOptions {javaMaxHeapSize "2g" }

Спасибо..!!

Ответ 3

Этот вопрос вполне возможно из-за превышения ограничения на использование дескриптора 65K, установленного Android. Эта проблема может быть решена либо путем очистки проекта, либо удаления некоторых неиспользуемых библиотек и методов из зависимостей в build.gradle, ИЛИ путем добавления поддержки multidex.

Итак, если вам нужно хранить библиотеки и методы, вы можете включить поддержку multi dex, объявив его в config gradle.

defaultConfig {        
// Enabling multidex support.
multiDexEnabled true
}