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
}