2015-03-09 13 views
6

मैं सिर्फ ग्रहण से डरावनी एंड्रॉइड स्टूडियो पर जा रहा हूं और इससे छुटकारा पाने में परेशानी है, जो काफी आम त्रुटि प्रतीत होता है।एंड्रॉइड स्टूडियो त्रुटि को हल करने में असमर्थ ': ऐप: प्रीडेक्सडिबग'

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 

मैं सब कुछ खत्म देखा और विभिन्न बस, मेरे स्टूडियो को पुन: प्रारंभ अमान्य और संचित साफ जार को दूर करने और उन्हें फिर से जोड़ने की कोशिश कर से लेकर समाधान की कोशिश की है, लेकिन अभी तक कुछ भी नहीं काम करता है। मैं इस आईडीई के लिए बहुत नया हूं इसलिए मुझे यह भी यकीन नहीं है कि यह कैसे काम करता है और बिल्ड फाइलों को किस तरह दिखाना चाहिए। (: एप्लिकेशन मॉड्यूल)

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') 
} 

परियोजना ग्रहण से आयात किया गया है और ऐसा करने के लिए कारण यह है कि गया था मैं json-org.jar और WebSocket के साथ कुछ निर्माण मुद्दों का सामना करना पड़ रहा था

यहाँ मेरे वर्तमान build.gradle है .jar। मैं इसे और issue is still open को ठीक करने में सक्षम नहीं था। मुझे यकीन नहीं है कि इन निर्भरताओं को धीरे-धीरे कैसे जोड़ना है क्योंकि github पृष्ठ वास्तव में कैसे नहीं कहता है।

यहां ग्रैडल कंसोल से आउटपुट है।

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 

इस प्रीडेक्सडिबग त्रुटि को ठीक करने के तरीके पर कोई मदद बहुत मददगार होगी! एक साइड नोट के रूप में, मैं बाईं ओर प्रोजेक्ट एक्सप्लोरर में अपना 'libs' फ़ोल्डर नहीं देख पा रहा हूं।

+0

क्ली पर Gradlew। इसका उपयोग करने के बारे में पढ़ें। फिर जोड़ें --info --debug --stacktrace cli builds में स्विच करता है। बड़ी आउटपुट के लिए आवश्यक होने पर क्ली स्टडआउट को फ़ाइल में सहेजें। आउटपुट –

+0

पर बारीकी से देखो, मैं सीएलआई का उपयोग करने के लिए एक नज़र डालने जा रहा हूं। क्या आप मुझे इसके लिए एक अच्छे संसाधन के लिए इंगित कर सकते हैं? साथ ही, मुझे यकीन नहीं है कि इस आउटपुट को कैसे प्राप्त किया जाए, लेकिन मैं आउटपुट प्राप्त करने और आगे स्पष्टता के लिए इसे प्रश्न पर अपलोड करने का प्रयास करूंगा। –

उत्तर

7

आप एक जार फ़ाइल या एक lib प्रदर्शित होने के एक से अधिक बार किया है और अपने "gradle.build" कैसे की तरह कुछ के साथ निर्भरता का विश्लेषण करने के लिए

नज़र में "विन्यास" के साथ काम करने की जरूरत है:

./gradlew :app:dependencies 

background on wrapper

./gradlew --info clean assembleDebug > ../myProj_build 

आप एक निर्माण फ़ाइल है कि आप अपने "preDex" त्रुटियों पर जानकारी के लिए विश्लेषण कर सकते हैं में अतिरिक्त जानकारी दे देंगे

4

आपने अपनी जार निर्भरताओं को संकलन निर्भरता के रूप में जोड़ा। आपको इसे "प्रदत्त" के रूप में जोड़ा जाना चाहिए, (आपको README में देखें)।

+1

हां, 'compile fileTree (dir:' libs 'से build.gradle स्क्रिप्ट को बदलना, इसमें शामिल हैं:' * .jar ')' या 'फाइलों को संकलित करें (' libs/xyz.jar ') '' '' '' प्रदान की गई' फ़ाइल ट्री (डीआईआर : 'libs', इसमें शामिल हैं: '* .jar') 'इस मुद्दे को ठीक किया गया है, हालांकि यह समस्या इस तथ्य के कारण उत्पन्न होती है कि एंड्रॉइड स्टूडियो स्वचालित रूप से JAR को' संकलित फ़ाइलों ('libs/xyz.jar') के रूप में रखता है, जब उपयोगकर्ता इसे लाइब्रेरी के रूप में शामिल करने का विकल्प चुनता है, प्रदान किए गए टैग बनाम संकलन टैग के बीच चयन करने का कोई विकल्प नहीं है। – cyber101

संबंधित मुद्दे

 संबंधित मुद्दे