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.