Próbowałem spojrzeć na podobne i żadne rozwiązanie nie zadziałało. Wcześniej uruchamiałem aplikacje bez problemu, ale moja nowa aplikacja nagle zaczęła sprawiać mi problemy. Zawsze kończy się niepowodzeniem, gdy próbuję go uruchomić, mówiąc:
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
Oto co wyświetliła się konsola:
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."}
Ta aplikacja jest bardzo prosta i nie zmieniłem jej zbytnio od układu zapasów. Jest przeznaczony tylko dla Lollipopa i wykorzystuje tylko funkcje standardowe. Oto 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'
}
android
gradle
compiler-errors
jvm
Skraj
źródło
źródło
android:shadowRadius="4dp"
i usuń.Odpowiedzi:
Wystąpił ten sam błąd, który był spowodowany konfliktowymi zasobami do rysowania. Wykonałem czysty projekt i błąd już nie występował.
źródło
Po długim surfowaniu odkryłem, że problemem jest narzut GC (brak pamięci). Dodając poniższy kod do mojego build.gradle uratowałem mój dzień.
odwołanie - ProcessException: org.gradle.process.internal.ExecException zakończone niezerową wartością wyjścia 2
źródło
g
? Gigabyte?DexOptions.incremental
jest przestarzały i zostanie usunięty pod koniec 2018 r.To musiał być problem z moją instalacją Java. Usunąłem wszystkie ślady folderów Java (C: // program files / Java / jdk) i jre i ponownie zainstalowałem je z oficjalnej strony i teraz działa dobrze.
źródło
Może możesz zmienić numer buildToolsVersion.
To jest mój problem:
mój build.gradle:
Po prostu zmieniam buildToolsVersion na buildToolsVersion „23.0.2” i problem został rozwiązany.
źródło
Problem z pamięcią RAM . Podobną wiadomość otrzymałem w moim Messages Gradle Build
Dlaczego: nie miałem wolnej pamięci RAM na moim laptopie z systemem operacyjnym Windows 8.1.
Rozwiązanie: zamknąłem kilka programów, których nie potrzebuję. Potem miałem więcej wolnej pamięci RAM, a mój projekt został zbudowany w Android Studio.
źródło
W moim przypadku rozwiązaniem było zamknięcie Android Studio i zabicie procesów java, które były bardzo duże (1,2 GB). Po tym mój projekt działa normalnie (OS X Mount Lion, Android Studio 1.2.2, iMac Mid 2011 4GB Ram).
źródło
Rozwiązanie
1. Po prostu wyczyść projekt i sprawdź, czy działa
2. Po prostu uruchom ponownie studio Android po zamknięciu wszystkich zadań śmieci
3. Jeśli obie powyższe rzeczy nie działają, dodaj to w pliku gradle.build
źródło
Miałem ten sam problem po dodaniu biblioteki icepick do moich zależności gradle. Po usunięciu zależności wszystko wydaje się być w porządku. Jak tylko dowiem się, dlaczego pojawił się ten problem, napiszę tutaj ponownie
źródło
provided
zamiastcompile
doprocessor
uzależnienia. Zobacz ten bilet .Użyj opcji
assembleandroidtest
jak na obrazku poniżej. Możesz więc dowiedzieć się więcej o wystąpieniu błędu:źródło
Po dodaniu pliku jar do folderu lib projektu i po dodaniu go do pliku build.gradle jako przykład ścieżki kompilacji, podczas synchronizacji gradle dodaje dodatkową linię jako pliki kompilacji („libs / example.jar”) . Musisz tylko usunąć linię, którą wcześniej dodałeś do pliku build.gradle, tj. Przykład compile'path 'po synchronizacji gradle. Musisz także usunąć wiersz kompilacji fileTree (dir: 'libs', include: '* .jar')
źródło
dodaj to do swojego Grade Build. U mnie to zadziałało
źródło
Odpowiedzią dla mnie było zwolnienie pamięci na proces kompilacji, zamknięcie programowania lub ponowne uruchomienie maszyny (win10 wydaje się zarządzać pamięcią gorzej niż win7)
Dlaczego to naprawiłem?
Podczas kompilacji studio Android nie znajduje wystarczającej ilości pamięci do kompilacji, ale nie wyświetla żadnego błędu . Błąd: app: preDexDebug wystąpił właśnie wtedy, gdy próbowałem przesłać skompilowaną aplikację na telefon.
Czasami mogłem przejść przez ten punkt (brak app: błąd preDexDebug), ale podczas uruchamiania aplikacji na Androidzie dostałem wyjątki „ClassNotFound”. To była wskazówka, aby odkryć, że Android Studio nie kompilowało wszystkich moich plików podczas kompilacji z powodu braku pamięci (win10 poprosił mnie o zamknięcie Android Studio, aby zaoszczędzić pamięć podczas kompilacji), mimo że IDE pokazało mi, że kompilacja się powiodła .
źródło
U mnie działa czyszczenie i przebudowa projektu. W Android Studio:
patrz odnośnik
źródło
Próbowałem praktycznie wszystkiego, dopóki nie spróbowałem uruchomić skryptu z błędu w linii poleceń:
Następnie skomentowałem ustawienie pamięci programisty w skrypcie gradle:
i udało mi się przekazać ten błąd. Muszę zwiększyć pamięć RAM w moim laptopie.
źródło
android.dexOptions
. Sam miałem 3 GB w instalacji Win10 z 16 GB pamięci RAM. Zmniejszenie do 1 lub usunięcie go naprawiło (jak na ironię) dla mnieNależy zaktualizować wszystkie bloki w Menedżerze SDK (Biblioteka wsparcia itp.), Wszystkie niezaktualizowane biblioteki i pakiety. Po tym musisz zsynchronizować pliki gradle z projektem i ciesz się!
źródło
W moim przypadku zadziałało ustawienie Java Max Heap Size od 2g do 1g.
Dodaj następujące elementy do pliku build.gradle modułu aplikacji
źródło
To rozwiązanie działa dla mnie
Zainstaluj Java JDK 8.
Następnie przejdź do Narzędzia-> Opcje -> Narzędzia dla Apache Cordova-> Zastąpienia zmiennych środowiskowych i ustaw ścieżkę do swojego JDK na „C: \ Program Files \ java \ jdk1.8.0_121”, aby uzyskać Java 8 zamiast Java 7.
aby uzyskać więcej informacji http://www.developersite.org/103-141954-android
źródło
Eksperymentalne znalazłem sposób:
Aplikacja rozszerza aplikację, a nie MultiDexApplication
i usuń
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
z gradle.properties
źródło
Otrzymałem ten błąd po przesłaniu projektu z laptopa na komputer stacjonarny w Android Studio.
Moim rozwiązaniem było ponowne uruchomienie Android Studio, następnie wyczyszczenie projektu i na koniec wykonanie projektu.
źródło
Miałem ten sam problem, po wypróbowaniu każdej z odpowiedzi tutaj zauważyłem, że nazwa pakietu, którego nazwę zmieniłem, nie została zmieniona w klasie, która go zaimportowała. Poprawiłem nazwę i natychmiast rozwiązałem problem.
źródło
Jest to prawdopodobnie spowodowane tym, że Twoja aplikacja przekracza liczbę metod 65k, co powoduje błąd dex. Nie ma innego rozwiązania niż włączenie multidexingu w Twojej aplikacji.
źródło
Cóż, może być z tym związanych wiele problemów. Przede wszystkim sprawdź, czy nie zepsułeś niektórych miejsc docelowych plików. na przykład umieściłem plik inny niż xml w folderze anim, co jest niedozwolone. Sprawdź więc, czy ci się to przytrafiło.
źródło
Czy włączyłeś multidexing ?. Rozszerz swoją główną klasę Application o MultiDexApplication. Otrzymałem dodatkowy komunikat o wyjątku przed błędem. Są one następujące.
To wyraźnie wskazuje, że błąd wystąpił z powodu braku pamięci. Spróbuj wykonać następujące czynności:
To załatwi sprawę;)
źródło
Daj tej mamie szansę:
Nie zapomnij dodać tego do zakładek .
źródło
Miałem teraz ten sam problem i okazało się, że jest on spowodowany wadliwym
attrs.xml
plikiem w jednym z moich modułów. Plik miał początkowo dwa atrybuty do stylizacji dla jednego z moich widoków niestandardowych, ale jeden usunąłem, gdy okazało się, że już go nie potrzebuję. Najwyraźniej nie zostało to jednak poprawnie zarejestrowane w IDE, więc kompilacja nie powiodła się, gdy nie można było znaleźć atrybutu.Rozwiązaniem dla mnie było ponowne dodanie atrybutu, uruchomienie a
clean project
po którym kompilacja się powiodła i mogłem z powodzeniem usunąć atrybut ponownie bez dalszych problemów.Mam nadzieję, że to komuś pomoże.
źródło
Jest wiele powodów, dla których to prowadzi
Jeśli nie osiągasz limitu dex, ale otrzymujesz błąd podobny do tego
Error:com.android.dx.cf.iface.ParseException: name already added: string{"a"}
Spróbuj wyłączyć program proguard, jeśli uda mu się skompilować bez problemu, będziesz musiał dowiedzieć się, która biblioteka spowodowała to i dodać ją do
proguard-rules.pro
plikuW moim przypadku ten problem występuje, gdy zaktualizowałem
compile 'com.google.android.gms:play-services-ads:8.3.0'
docompile 'com.google.android.gms:play-services-ads:8.4.0'
Jednym z obejść jest dodanie tego do
proguard-rules.pro
plikuźródło
Rozwiązuję ten problem w żartobliwy sposób. Mam dwie klasy z imionami
startDl
iStartDl
. Po prostu zmieniam jeden z nichStartDownload
i mój problem został rozwiązany. również zasoby mogą mieć nazwę, która jest już zarezerwowana dla innego zasobu w projekcie. po prostu zmień nazwy podobnych nazw na inne.źródło
Wszystko, co musisz zrobić, to zabić część uruchomionego procesu i zwolnić miejsce w pamięci (RAM). Możesz spróbować zamknąć niektóre programy zużywające dużo pamięci. Możesz także spróbować ponownie uruchomić Android Studio. U mnie to zadziałało.
źródło
Usuń linię:
Z zależności (w
build.gradle
):źródło
U mnie to działa:
źródło