Android java.exe завершил работу с ненулевым значением выхода 1 [закрыто]

117

Я пробовал искать похожие, но решение не помогло. Раньше я запускал приложения без проблем, но мое новое приложение внезапно начало вызывать у меня проблемы. Он всегда терпит неудачу, когда я пытаюсь запустить его, говоря:

Error:Execution failed for task ':app:preDexDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_67\bin\java.exe'' finished with non-zero exit value 1

Вот что отображала консоль:

Executing tasks: [:app:assembleDebug]

Configuration on demand is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportSupportV42200Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJava UP-TO-DATE
:app:preDexDebug
AGPBI: {"kind":"SIMPLE","text":"Error: Could not create the Java Virtual        Machine.","position":{},"original":"Error: Could not create the Java Virtual Machine."}
AGPBI: {"kind":"SIMPLE","text":"Error: A fatal exception has occurred. Program will exit.","position":{},"original":"Error: A fatal exception has occurred. Program will exit."}

AGPBI: {"kind":"SIMPLE","text":"Error: Could not create the Java Virtual Machine.","position":{},"original":"Error: Could not create the Java Virtual Machine."}
AGPBI: {"kind":"SIMPLE","text":"Error: A fatal exception has occurred. Program will exit.","position":{},"original":"Error: A fatal exception has occurred. Program will exit."}


FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:preDexDebug'.
com.android.ide.common.process.ProcessException:     org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files (x86)\Java\jdk1.7.0_67\bin\java.exe'' finished with non-zero exit value 1

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.614 secs

AGPBI: {"kind":"SIMPLE","text":"Error: Could not create the Java Virtual Machine.","position":{},"original":"Error: Could not create the Java Virtual Machine."}
AGPBI: {"kind":"SIMPLE","text":"Error: A fatal exception has occurred. Program will exit.","position":{},"original":"Error: A fatal exception has occurred. Program will exit."}

Это приложение очень простое, и я не сильно менял его по сравнению со стандартным макетом. Он разработан только для леденцов и использует только стандартные функции. Вот build.gradle:

apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.0"

defaultConfig {
    applicationId "com.package.app"
    minSdkVersion 21
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:support-v4:22.0.0'
}
рант
источник
Обратите внимание, что это проблема с созданием вашего приложения, а не с его запуском - хотя, конечно, вам нужно успешно построить в какой-то момент, прежде чем вы сможете его запустить.
Крис Стрэттон,
@Rand, ты нашел какое-нибудь решение? Я столкнулся с той же проблемой, у меня 32-битная конфигурация, я думаю, это проблема.
Нарендрасин Додия
Эта ошибка очень раздражает, и, похоже, ничего не помогает -.-
Мартин Пфеффер
Найдите свой layout.xml android:shadowRadius="4dp" и удалите его.
meyasir

Ответы:

56

Произошла та же ошибка, которая возникла из-за конфликта доступных ресурсов. Я сделал чистый проект, и ошибка больше не возникала.

Кеннет
источник
это сработало для меня. у меня была ошибка выхода 2
хади
1
Wh00t, так просто! У меня была ошибка выхода 1. Должно быть какая-то путаница между командой через git
Синдри Тор
Как и у Sindriór, у меня также была ошибка выхода 1, и это решило ее для меня. Последний час был только головной болью, спасибо @Kennth!
davewoodhall
1
@Kenneth не работает ..!
user5716019 01
у меня это не работает
jose920405
16

После долгого серфинга я обнаружил, что проблема в накладных расходах сборщика мусора (нехватка памяти). Добавление кода ниже в мой build.gradle спасло мне день.

android {

    dexOptions {
        incremental = true;
        preDexLibraries = false
        javaMaxHeapSize "4g" // 2g should be also OK
    }

}

ссылка - ProcessException: org.gradle.process.internal.ExecException завершено с ненулевым значением выхода 2

Duke1992
источник
Что g? Gigabyte?
Subby
@Subby Это просто возможность указать максимальный пул выделения памяти для виртуальной машины Java (JVM) для работы dex. ссылка - stackoverflow.com/questions/33750404/…
Duke1992
2
DexOptions.incrementalустарело и будет удалено в конце 2018 года
HendraWD
13

Должно быть, проблема с моей установкой Java. Я удалил все следы папок Java (C: // program files / Java / jdk) и jre и переустановил их с официальной страницы, и теперь все работает нормально.

рант
источник
1
Как ты это сделал. Пожалуйста, предоставьте более подробную информацию
Сами Эльтамави,
1
Зайдите в панель управления и удалите все версии Java. Затем переустановите последнюю версию.
Rand
1
у меня не сработало ..
Алекс Капустян
Вы можете попробовать «JavaRa», чтобы удалить следы Java. Не уверен, что это поможет.
разработчик Android
Если у вас установлено несколько JDK (по какой-либо причине), убедитесь, что студия использует правильный: stackoverflow.com/a/30631386/1544046
JCricket
12

Возможно, вы можете изменить номер вашей buildToolsVersion.

это моя проблема :

Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: java.lang.RuntimeException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\ProgramTools\Java\jdk1.7.0_79\bin\java.exe'' finished with non-zero exit value 1

мой build.gradle:

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.0"

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

Я просто меняю buildToolsVersion на buildToolsVersion "23.0.2", и проблема решается.

Shaun
источник
Это тоже было моим решением, я просто проверил старый проект, сравнил build.gradle и установил то же значение buildToolsVersion «23.0.1»
Youri
работал у меня .... :-) проблема была, когда я создавал новый проект.
Румит Патель 08
11

Проблемная RAM . У меня было подобное сообщение в моей сборке сообщений Gradle

Error:Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal. 
ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe'' 
finished with non-zero exit value 1

Почему: у меня не было свободной оперативной памяти на моем ноутбуке с ОС windows 8.1.

Решение: Я закрыл несколько программ, которые мне не нужны. После этого у меня стало больше свободной оперативной памяти, и мой проект был построен в студии Android.

Malder
источник
1
да, перед ошибкой отображается диалог «недостаточно моментов ...» я не помню извлечение сообщения
vuhung3990
8

В моем случае решение заключалось в том, чтобы закрыть Android Studio и убить java-процессы, что было очень большим (1,2 ГБ). После этого мой проект работает нормально (OS X Mount Lion, Android Studio 1.2.2, iMac Mid 2011 4GB Ram).

Мисаэль Баррето
источник
Даже не думал об этом. Работал у меня. Простая перезагрузка AS (например, 4 раза) ничего не дала.
gatlingxyz 07
Спасибо! Оно работало завораживающе.
jackcar
На Mac произошел сбой моего входа в систему (не полная перезагрузка). При повторном входе в систему все запущенные приложения перезапускались, переводя процесс Java в какое-то странное состояние зомби (мое лучшее предположение). Убийство процесса Java в диспетчере действий устранило проблему. Спасибо!
andymeadows
Спасибо! Решение - закрыть Android Studio.
pengguang001
7

Решение

1.Просто очистите проект и проверьте, работает он или нет

2.Просто перезапустите android studio после закрытия всех мусорных задач

3.Если обе вышеуказанные вещи не работают, добавьте это в файл gradle.build.

android {

    dexOptions {
        incremental = true;
        preDexLibraries = false
        javaMaxHeapSize "4g" 
    }

}
ШИНТО ДЖОЗЕФ
источник
приятно и 3 рабочих.
Surendar D
6

У меня была такая же проблема после добавления библиотеки icepick в мои зависимости gradle. После удаления dependencie вроде все нормально. Как только я узнаю, почему возникла эта проблема, напишу здесь еще раз

LuckyMalaka
источник
4
Тоже самое. Исправление было использовать providedвместо compileдля processorзависимости. Смотрите этот билет .
theblang
5

Используйте вариант, assembleandroidtestкак на изображении ниже. Итак, вы можете узнать больше о возникшей ошибке:

введите описание изображения здесь

Иман Мараши
источник
Хорошее решение !!! выяснить точную проблему !!!
Ранджит Кумар
Спасибо, все идеально
Prinkal Kumar
3

После добавления файла jar в папку lib проекта и после добавления его в файл build.gradle в качестве compile'path example ' при синхронизации gradle он добавляет дополнительную строку в виде файлов компиляции (' libs / example.jar ') . Вам просто нужно удалить строку, которую вы ранее добавили в файл build.gradle, то есть пример пути компиляции после синхронизации с градиентом. Вам также необходимо удалить строку compile fileTree (dir: 'libs', include: '* .jar')

Пунит Шарма
источник
В вашем случае просто удалите строку compile fileTree (dir: 'libs', include: ['* .jar']). Надеюсь, это сработает для вас.
Пунит Шарма
Это сработало и для меня. Я не знаю, почему мне так сложно добавить зависимости в iOS и управлять ими намного проще.
JMStudios.jrichardson
3
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

добавьте это в свой Gradle Build. Это сработало для меня

Ашок Варма
источник
2
это не работает для меня
letdev-cwack
@ letdev-cwack у вас была такая же проблема ??
Ашок Варма
3

Ответом для меня было освободить память для процесса сборки, закрыть программирование или перезагрузить машину (похоже, что win10 управляет памятью хуже, чем win7)

Почему это исправили для меня?

Во время сборки студия Android не находит достаточно памяти для компиляции, но не показывает никаких ошибок . Ошибка: app: preDexDebug произошла как раз тогда, когда я пытался загрузить скомпилированное приложение на телефон.

Иногда мне удавалось пройти через этот момент (нет ошибки app: preDexDebug), но при запуске приложения на android возникали исключения «ClassNotFound». Это был ключ к тому, что студия Android не компилировала все мои файлы во время сборки из-за нехватки памяти (win10 попросил меня закрыть студию Android, чтобы сохранить память во время сборки), хотя IDE показывала мне, что сборка прошла успешно. ,

Фабио де Толедо
источник
Это скорее вопрос об исключениях или комментарий, чем ответ. Если это ответ, пожалуйста, укажите, как вы исправили все исключения, о которых упоминаете, если это новый вопрос, задайте новый вопрос о ранее полученных.
Ram
Спасибо за отзыв, постарался выразиться. Я не владею английским языком, но я потратил несколько часов на решение этой проблемы и решил опубликовать то, что сработало для меня. ;-)
Фабио де Толедо
3

У меня работает чистка и восстановление проекта. В студии Android:

Build -> Clean Project 
Build -> Rebuild Project

См ссылку

хуу дуй
источник
1
у меня это не работает :(
Кайри Сан
1

Я пробовал практически все, пока не попытался запустить сценарий из ошибки в командной строке:

dx.bat -JXmx1536m --dex --output \build\intermediates\pre-dexed\debug\classes-01b5c6cd66151f573da9773c18af55d10736a24e.jar build\intermediates\exploded-aar\aaa-release\classes.jar
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Затем я закомментировал настройку памяти разработчика в скрипте gradle:

//        javaMaxHeapSize "1536m"

и я смог передать эту ошибку. Мне нужно увеличить оперативную память моего ноутбука.

Лев Литерак
источник
как вы установили javaMaxHeapSize? Я установил его с помощью gradle.properties, но он работает только для демона gradle.
Sarowar
1
javaMaxHeapSize - это свойство под android.dexOptions. У меня он был на 3 ГБ при установке Win10 с оперативной памятью 16 ГБ. Уменьшение его до 1 или удаление исправило это (по иронии судьбы) для меня
Nilzor
Да, и как ни странно уменьшение его до 1гб в моем проекте с 3гб сработало. У меня оперативной памяти много, так что странно.
zaifrun
1

Вы должны обновить все блоки в SDK Manager (библиотеку поддержки и т. Д.), Все не обновленные библиотеки и пакеты. После этого вы должны синхронизировать файлы gradle с проектом и радоваться!

Алешин Михаил
источник
1

В моем случае сработала установка Java Max Heap Size от 2g до 1g.

Добавьте следующее в файл build.gradle модуля приложения

android {
    dexOptions {
        javaMaxHeapSize "1g"
    }
}
Шахидула
источник
1

Это решение работает для меня

Установите Java JDK 8.

Затем перейдите в Инструменты-> Параметры -> Инструменты для Apache Cordova-> Переопределения переменных среды и установите путь к вашему JDK на «C: \ Program Files \ java \ jdk1.8.0_121», чтобы получить Java 8 вместо Java 7.

для получения дополнительной информации http://www.developersite.org/103-141954-android

Адитья Шривастава
источник
1

Экспериментально я нашел способ:

Приложение расширяет приложение, а не MultiDexApplication

и удалить

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

из gradle.properties

Yvgen
источник
0

Я получил эту ошибку после переноса моего проекта с ноутбука на рабочий стол в Android Studio.

Мое решение заключалось в том, чтобы перезапустить Android Studio, затем очистить проект и, наконец, выполнить проект.

BhavikUp
источник
0

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

Адри Станчев
источник
0

Вероятно, это связано с тем, что ваше приложение превышает количество методов 65k, что вызывает ошибку dex. Нет другого решения, кроме включения мультиплексирования в вашем приложении.

IgorGanapolsky
источник
0

Что ж, с этим может быть связано много проблем. Прежде всего проверьте, не испортились ли вы с размещением некоторых файлов. например, что я сделал, я поместил не xml файл в папку anim, что запрещено. Так что проверьте, случалось ли подобное и с вами.

Бхаскар Гуррам
источник
0

Вы включили мультиплексирование? Расширьте свой основной класс Application с помощью MultiDexApplication. Перед ошибкой я получил дополнительное сообщение об исключении. Они следующие.

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
2 errors; aborting

Это ясно говорит о том, что ошибка произошла из-за нехватки памяти. Попробуйте следующее:

  1. расширите свой основной класс Application с помощью MultiDexApplication.
  2. закройте неиспользуемые приложения из фона и перезапустите Android Studio.

Это поможет;)

Saamzzz
источник
0

Дай этой матери шанс:

 dependencies {
        classpath 'com.android.tools.build:gradle:1.4.0-beta6'
    }

Не забудьте добавить это в закладки .

Мартин Пфеффер
источник
0

У меня только что была такая же проблема, и она оказалась вызвана неисправным attrs.xml файлом в одном из моих модулей. Файл изначально имел два стилизованных атрибута для одного из моих настраиваемых представлений, но я удалил один, когда оказалось, что он мне больше не нужен. Однако это, по-видимому, не было правильно зарегистрировано в IDE, и поэтому сборка не удалась, когда не удалось найти атрибут.

Решение для меня заключалось в том, чтобы повторно добавить атрибут, запустить a, clean projectпосле чего сборка прошла успешно, и я мог снова успешно удалить атрибут без каких-либо дополнительных проблем.

Надеюсь, это кому-то поможет.

Теун Коойман
источник
0

Есть много причин, которые приводят к

com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: процесс 'команда' C: \ Program Files \ Java \ jdk1.8.0_60 \ bin \ java.exe '' завершился с ненулевым значением выхода 1

Если вы не достигли предела dex, но получаете ошибку, похожую на эту Error:com.android.dx.cf.iface.ParseException: name already added: string{"a"}

Попробуйте отключить proguard, если ему удастся скомпилировать без проблем, вам нужно будет выяснить, какая библиотека вызвала его, и добавить его в proguard-rules.proфайл

В моем случае эта проблема возникает, когда я обновляюсь compile 'com.google.android.gms:play-services-ads:8.3.0'доcompile 'com.google.android.gms:play-services-ads:8.4.0'

Один из обходных путей - я добавил это в proguard-rules.proфайл

## Google AdMob specific rules ##
## https://developers.google.com/admob/android/quick-start ##

-keep public class com.google.ads.** {
   public *;
}

Android Studio

xDragonZ
источник
0

Я решаю эту проблему в шутку. У меня два класса с именами startDlиStartDl . Я просто меняю один из них на, StartDownloadи моя проблема решается. также ресурсы могут иметь имя, которое уже зарезервировано с любым ресурсом в проекте. просто переименуйте похожие имена в разные.

Садек Шаджары
источник
-1

Все, что вам нужно сделать, это убить часть запущенного процесса и освободить место в вашей памяти (RAM). Вы можете попробовать закрыть некоторые программы, потребляющие много памяти. Вы также можете попробовать перезапустить Android Studio. У меня это сработало.

Vikky
источник
-2

Удалите строку:

('com.android.support:support-v4:22.0.0')

Из зависимостей (in build.gradle):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:22.0.0'
}
Шехроз Салим
источник
12
И как вы думаете, почему это сработает, объясните, пожалуйста, чтобы мы поняли
Аман Алам
-2

Для меня это работает:

defaultConfig {
    multiDexEnabled true
}
Али Акрам
источник