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-бітна конфігурація, я думаю, це проблема.
Narendrasinh Dodiya

Ця помилка дуже дратує і, здається, ніщо не допоможе -.-
Мартін Пфеффер

Шукайте у layout.xml та знайдіть android:shadowRadius="4dp" та видаліть його.
meyasir

Відповіді:


56

Були ті самі помилки, які були пов’язані з суперечливими джерелами ресурсів. Я зробив чистий проект, і помилка більше не зустрічалася.


це працювало для мене. У мене була помилка виходу 2
Хаді

1
Wh00t, так просто! У мене була помилка виходу 1. Повинна було бути деяке змішання команди через git
Sindri riór

Як і у SindriÞór, у мене також була помилка виходу 1, і це вирішило це для мене. Остання година була не що інше, як головний біль, дякую @Kennth!
davewoodhall

1
@Kenneth не працює ..!
user5716019

це не працює для мене
jose920405

16

Після багато серфінгу я з'ясував, що проблема - це накладні витрати на GC (поза пам'яттю). Додавши нижче код до мого build.gradle врятував мій день.

android {

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

}

посилання - ProcessException: org.gradle.process.internal.ExecException закінчено з ненульовим значенням виходу 2


Що g? Гігабайт?
Subby

@Subby Це лише можливість вказати пул максимального розподілу пам'яті для віртуальної машини Java (JVM) для роботи dex. ref - stackoverflow.com/questions/33750404 / ...
Duke1992

2
DexOptions.incrementalзастаріла і буде видалена наприкінці 2018 року
HendraWD

13

Напевно, це була проблема з моєю установкою Java. Я видалив усі сліди Java (C: // програмні файли / Java / jdk) та папки jre та перевстановив її з офіційної сторінки, і тепер вона працює добре.


1
Як ти це зробив. Будь ласка, надайте більше деталей
Самі Елтамави

1
Зайдіть на панель керування та видаліть усі версії Java. Потім перевстановіть останню.
Ранд

1
не працював для мене ..
Олексій Капустян

Ви можете спробувати "JavaRa", щоб видалити сліди Java. Не впевнений, чи допомагає це.
андроїд розробник

У разі , якщо у вас є кілька 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", і проблема була вирішена.


Це було і моє рішення, я просто перевірив старий проект і порівняв build.gradle і встановив те саме значення buildToolsVersion "23.0.1"
Youri

працював на мене .... :-) Проблема була тоді, коли я створював новий проект.
Руміт Патель

11

Проблема ОЗУ . У мене було подібне повідомлення в моїх повідомленнях Gradle Build

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.

Рішення: я закрив кілька програм, які мені не потрібні. Після цього у мене було більше вільної оперативної пам’яті, і мій проект був побудований в андроїд-студії.


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

Дякую! Це спрацювало як шарм.
jackcar

Mac перервав мій логін (не повне перезавантаження). Після входу в систему всі запущені програми перезапустили переведення процесу Java в деякий дивний стан зомбі (моя найкраща здогадка). Вбивство процесу Java в менеджері діяльності вирішило проблему. Дякую!
andymeadows

Дякую! Рішення - закрити Android Studio.
pengguang001

7

Рішення

1.Очистіть проект і перевірте його чи ні

2.Перезапустити андроїд-студію після закриття всіх сміттєвих завдань

3. Якщо обидві вищевикладені речі не працюють, додайте це у файл gradle.build

android {

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

}

приємно і 3 працюючих.
Сурандар Д

6

У мене був такий самий випуск після додавання бібліотеки Icepick до моїх залежностей від gradle. Після зняття залежності залежно все здається. Як тільки я дізнаюся, чому ця проблема з’явилася, я напишу тут ще раз


4
Те ж саме. Виправлення було використовувати providedзамість compileдля processorзалежності. Дивіться цей квиток .
theblang

5

Використовуйте параметр, assembleandroidtestяк на зображенні нижче. Таким чином, ви можете дізнатися більше про помилку:

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


Приємне рішення !!! щоб дізнатися точну проблему !!!
Ранджіт Кумар

Спасибі, її ідеально
Prinkal Kumar

3

Після додавання файлу jar в папку lib проекту та після додавання його до файлу build.gradle як приклад kompile'path ', коли ви синхронізуєте gradle, додайте додатковий рядок як файли компіляції (' libs / example.jar ') . Вам просто потрібно видалити рядок, який ви раніше додали у файл build.gradle, тобто приклад компіляції "після синхронізації з Gradle. Вам також потрібно видалити рядок компіляції fileTree (dir: 'libs', include: '* .jar')


У вашому випадку просто видаліть рядок збирання fileTree (dir: 'libs', включайте: ['* .jar']). Сподіваємось, це буде добре для вас.
Каратель Шарма

Це працювало і для мене. Я не знаю, чому це так складно для мене, щоб iOS додав залежності, а управління ними набагато простіше.
JMStudios.jrichardson

3
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

додайте це до своєї Gradle Build. Це працювало для мене


2
це не працює для мене
letsdev-cwack

@ letsdev-cwack у вас була така ж проблема ??
Ашок Варма

3

Відповідь для мене полягала в тому, щоб звільнити пам'ять під час збирання, закрити програмування або перезавантажити машину (Win10, здається, керує пам'яттю гірше, ніж win7)

Чому це виправили для мене?

Під час збірки андроїд-студія не знаходить достатньої кількості пам’яті для компіляції, але вона не показує помилок . Помилка: app: preDexDebug сталася саме тоді, коли я спробував завантажити завантажений додаток на телефон.

Іноді я міг пройти через цей момент (немає програми: помилка preDexDebug), але під час запуску програми на android я отримував винятки "ClassNotFound". Це була підказка виявити, що андроїд-студія не збирала всі мої файли під час збирання через відсутність пам’яті (win10 попросив мене закрити андроїд-студію, щоб зберегти пам’ять під час збирання), навіть незважаючи на те, що IDE показав мені, що збірка була успішною .


Це більше схоже на питання про винятки чи коментар, а не на відповідь. Якщо це відповідь, будь ласка, вкажіть, як ви виправили всі винятки, про які ви згадуєте, якщо це нове запитання, задайте нове запитання щодо раніше отриманого питання.
Рам

Дякую за відгук, намагався дати зрозуміти. Я не знаю англійської мови, але я витратив кілька годин на цю проблему, що вирішив опублікувати те, що працювало для мене. ;-)
Фабіо де Толедо

3

Прибирання та відновлення проекту працює для мене. В студії Android:

Build -> Clean Project 
Build -> Rebuild Project

Посилання на посилання


1
для мене це не працює :(
Kairi San

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 (Бібліотека підтримки тощо), усі неоновлені версії та пакети. Після цього ви повинні синхронізувати файли Gradle з проектом та радіти!


1

У моєму випадку працювала настройка розміру Java Max Heap від 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


0

Я отримав цю помилку після перенесення проекту з ноутбука на робочий стіл в Android Studio.

Моїм рішенням було перезапустити Android Studio, потім очистити проект і нарешті виконати проект.


0

У мене було те саме питання, спробувавши кожну з відповідей тут, я помітив, що пакет, який я перейменував, не був перейменований у клас, який імпортував його. Я виправив ім’я та негайно вирішив проблему.


0

Це, можливо, пов’язано з тим, що ваш додаток перевищує кількість методів 65 к., Що спричинить помилку dex. Немає іншого рішення, окрім увімкнення мультидексінгу у вашому додатку.


0

Що ж, з цим може бути багато проблем. Перш за все перевірте, чи ви заплуталися з якимись розміщеннями файлів. Наприклад, те, що я зробив, я помістив файл не xml у папку anim, що заборонено. Тож перевірте, чи траплялися і з вами такі речі.


0

Ви ввімкнули мультидексінг ?. Розширити свій основний клас програми за допомогою 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. розширити свій основний клас програми за допомогою MultiDexApplication.
  2. закрийте невикористані програми із фону та перезавантажте Android Studio.

Це зробить трюк;)



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: \ Програмні файли \ 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


0

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


-1

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


-2

Видаліть рядок:

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

Від залежностей (в build.gradle):

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:22.0.0'
}

12
І чому ви вважаєте, що це спрацювало, поясніть, будь ласка, щоб ми зрозуміли
Аман Алам

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.