मुझे उस प्रसिद्ध ': app: preDexDebug'-error का अनुभव हो रहा है।निष्पादन कार्य के लिए विफल रहा: ': app: preDexDebug'
सबसे पहले: परियोजना की सफाई या पुनर्निर्माण यह त्रुटियों के बिना काम करता है। डिफ़ॉल्ट सेटिंग्स के तहत मैंने प्रोजेक्ट बाइटकोड संस्करण को 1.7 पर सेट किया है और परियोजना संरचना में एसडीके स्थान के तहत जेडीके स्थान भी सही प्रतीत होता है। शोध के कुछ समय बाद मुझे अभी भी इस समस्या का समाधान नहीं मिला।
त्रुटि तब होती है जब मैं एंड्रॉइड स्टूडियो के तहत प्रोजेक्ट चलाने की कोशिश करता हूं। जैसा कि पहले उल्लेख किया गया है, ग्रैडल के साथ सफाई, पुनर्निर्माण और समन्वयन ठीक काम करता है (ऐसा लगता है - कोई त्रुटि नहीं)।
यह वही है Gradle कंसोल से पता चलता है:
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: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":"UNEXPECTED TOP-LEVEL EXCEPTION:","position":{},"original":"UNEXPECTED TOP-LEVEL EXCEPTION:"}
AGPBI: {"kind":"SIMPLE","text":"com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)","position":{},"original":"com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)","position":{},"original":"\tat com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)","position":{},"original":"\tat com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)","position":{},"original":"\tat com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)","position":{},"original":"\tat com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.processClass(Main.java:704)","position":{},"original":"\tat com.android.dx.command.dexer.Main.processClass(Main.java:704)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)","position":{},"original":"\tat com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.access$300(Main.java:83)","position":{},"original":"\tat com.android.dx.command.dexer.Main.access$300(Main.java:83)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)","position":{},"original":"\tat com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)","position":{},"original":"\tat com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)","position":{},"original":"\tat com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)","position":{},"original":"\tat com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.processOne(Main.java:632)","position":{},"original":"\tat com.android.dx.command.dexer.Main.processOne(Main.java:632)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)","position":{},"original":"\tat com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)"}
AGPBI: {"kind":"SIMPLE","text":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)","position":{},"original":"\tat com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)"}
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)"}
AGPBI: {"kind":"SIMPLE","text":"...while parsing impl/org/controlsfx/ImplUtils.class","position":{},"original":"...while parsing impl/org/controlsfx/ImplUtils.class"}
AGPBI: {"kind":"SIMPLE","text":"1 error; aborting","position":{},"original":"1 error; aborting"}
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\Java\jdk1.7.0_67\bin\java.exe'' finished with non-zero exit value 1
आप नीचे देख के रूप में, मैं हटा दिया - मेरी build.gradle में लाइन, लेकिन यह अभी भी काम नहीं किया "एंड्रॉयड संकलन ...।" । तो यहाँ मेरी Gradle निर्माण फ़ाइल है:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion '22.0.1'
compileOptions.encoding = 'windows-1251'
defaultConfig {
applicationId "de.giessen.advenco.key2operate"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
ऐसा लगता है कि Gradle की तरह मेरे JDK के साथ कुछ समस्या है, लेकिन मैं किस तरह की और उन्हें ठीक करने के लिए पता नहीं है। मुझे आशा है कि आप लोग मदद कर सकते हैं।
संपादित करें: मैं, पता चला कि version (0034.0000)
का मतलब है कि मैं जावा 8 का उपयोग कर अजीब बात है, कि मैं निश्चित रूप से जावा 8. का उपयोग नहीं करते एंड्रॉयड स्टूडियो में मैं "C:\Program Files\Java\jdk1.7.0_67"
को JDK-पथ परिभाषित कर रहा हूँ। यह 64-बिट जावा है (मैं विन 7 64-बिट बीटीडब्ल्यू का उपयोग कर रहा हूं।)। इसके अलावा मेरे पास 32-बिट जावा "C:\Program Files (x86)\Java\jdk1.7.0_75"
पर है, लेकिन मैं एंड्रॉइड स्टूडियो से अपने स्थान पर इशारा नहीं कर रहा हूं (मुझे अपनी मशीन पर दोनों संस्करणों की आवश्यकता है)। क्या किसी को पता है, क्यों एंड्रॉइड स्टूडियो सोचता है, कि मेरे पास मेरी मशीन पर जावा 8 है? जैसा कि आप मेरी ग्रेडल बिल्ड फ़ाइल में देख सकते हैं, मैंने sourceCompatibility
और targetCompatibility
से JavaVersion.VERSION_1_7
सेट किया है। क्या एंड्रॉइड स्टूडियो में कहीं छिपी हुई सेटिंग्स हैं, जो जावा 8 सेटिंग को परिभाषित करती हैं?
पर बदलने के बाद यह कहने में मदद मिलेगी कि * बिल्कुल * कहां * आप इस अच्छे छोटे डीबग स्विच को डालते हैं ... :( – Zordid
टर्मिनल में लिखते हैं "gradlew - -debug "ओ इसे हर बार उपलब्ध कराने के लिए फ़ाइल-> सेटिंग्स-> बिल्ड, निष्पादन, परिनियोजन-> कंपाइलर और फ़ील्ड से कमांड लाइन विकल्प "--stacktrace --debug" – Ewoks
यहां देखें, पुरुष जावा एसडीके संस्करण 1.7 http://stackoverflow.com/questions/19608742/how-to-set-java-sdk-path-in-androidstudio –