Android Studio nicht in der Lage zu beheben Fehler ':app:preDexDebug'
Ich bin gerade beim Umstieg von Eclipse auf die einschüchternde Android Studio und haben Mühe, sich entfernen von, was scheint, ein ziemlich häufiger Fehler.
Error:Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-oracle/bin/java'' finished with non-zero exit value 1
Ich überall gesucht und habe verschiedene Lösungen, vom einfachen Neustart mein Studio, Ungültig zu machen und das löschen des cache, entfernen Sie die Gläser und versuchen, fügen Sie Sie wieder, aber bisher nichts funktioniert. Ich bin ganz neu hier im IDE also ich bin mir auch nicht sicher, wie es funktioniert und was die build-Dateien Aussehen soll.
Hier ist mein Aktueller build.gradle (Module:app)
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.culami"
minSdkVersion 21
targetSdkVersion 21
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.android.support:support-v4:21.0.3'
compile files('libs/WebSocket.jar')
compile files('libs/android-support-v13.jar')
compile files('libs/json-org.jar')
compile files('libs/socketio.jar')
}
Wurde das Projekt importiert aus der Eclipse-und der Grund dafür war, dass ich vor einigen build Probleme mit json-org.jar und WebSocket.jar. Ich war nicht in der Lage dieses Problem zu beheben und die Problem ist noch offen. Ich bin mir nicht sicher, wie Sie Sie hinzufügen, diese Abhängigkeiten über gradle, weil auf der github-Seite nicht wirklich sagen, wie.
Hier ist die Ausgabe von der Gradle-Konsole.
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:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42103Library 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 UP-TO-DATE
:app:dexDebug
AGPBI: {"kind":"SIMPLE","text":"UNEXPECTED TOP-LEVEL EXCEPTION:","position":{},"original":"UNEXPECTED TOP-LEVEL EXCEPTION:"}
AGPBI: {"kind":"SIMPLE","text":"com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;","position":{},"original":"com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)","position":{},"original":"\tat com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)","position":{},"original":"\tat com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)","position":{},"original":"\tat com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)","position":{},"original":"\tat com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:189)","position":{},"original":"\tat com.android.dx.merge.DexMerger.merge(DexMerger.java:189)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)","position":{},"original":"\tat com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)","position":{},"original":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:303)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.run(Main.java:246)","position":{},"original":"\tat com.android.dx.command.dexer.Main.run(Main.java:246)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.main(Main.java:215)","position":{},"original":"\tat com.android.dx.command.dexer.Main.main(Main.java:215)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.Main.main(Main.java:106)","position":{},"original":"\tat com.android.dx.command.Main.main(Main.java:106)"}
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:dexDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-oracle/bin/java'' finished with non-zero exit value 2
* 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: 23.247 secs
Jede Hilfe wie man dieses Problem beheben preDexDebug Fehler wird eine große Hilfe! Als seitliche Anmerkung, ich bin auch nicht in der Lage, um zu sehen, mein "libs" - Ordner im Projekt-explorer auf der linken Seite.
- Gradlew auf cli . Lesen Sie über die Verwendung es. Dann add --info --debug --stacktrace-Schalter zu cli-baut. Speichern cli stdout in eine Datei, wenn nötig, für die große Ausgabe. Schauen Sie genau auf die Ausgabe
- Ich gehe, um einen Einblick in die Verwendung der CLI. Könnten Sie mir eine gute Ressource für das gleiche? Auch bin ich mir noch nicht sicher, wie man diese Ausgabe aber ich werde versuchen, die Ausgabe und laden Sie diese Frage für weitere Klarheit.
Du musst angemeldet sein, um einen Kommentar abzugeben.
haben Sie eine jar-Datei oder eine lib erscheinen mehrfach und arbeiten müssen, mit "Konfiguration" in Ihre "gradle.bauen"
Blick für die Analyse der Abhängigkeiten mit so etwas wie:
hintergrund wrapper
geben Sie zusätzliche Informationen in einer build-Datei, die Sie analysieren können, die details über die "preDex" Fehler
Haben Sie Ihren jar-Abhängigkeiten als ein compile-Abhängigkeit. Sollten Sie fügte hinzu, es als "bereitgestellt", (sehen Sie in der README).
compile fileTree(dir: 'libs', include: '*.jar')
ODERcompile files('libs/xyz.jar')
zuprovided
Dateibaum(dir: 'libs', sind: '*.jar')` das Problem behoben wurde, jedoch dieses Problem entsteht aufgrund der Tatsache, dass Android Studio setzt automatisch die JAR alscompile files('libs/xyz.jar')
wenn der Benutzer auswählt, um Sie als Bibliothek , es gibt keine Möglichkeit zu wählen zwischen compile-tag versus tag zur Verfügung gestellt.