2017-10-30 4 views
5

द्वारा प्रदान की कक्षाओं के साथ संघर्ष मैं निम्नलिखित त्रुटि मिली 3त्रुटि: त्रुटि:: json कि वर्गों के साथ संघर्ष अब Android द्वारा प्रदान की कक्षाओं को परिभाषित करता है json कक्षाओं जब Android पर स्टूडियो एक रिलीज निर्माण कर रही है कि अब एंड्रॉयड

त्रुटि को परिभाषित करता है । समाधानों में नए संस्करण या वैकल्पिक पुस्तकालयों को ढूंढना शामिल है जिनमें एक ही समस्या नहीं है (उदाहरण के लिए, httpclient के लिए HttpUrlConnection या okhttp का उपयोग करें), या पुस्तकालय जैसे कुछ का उपयोग करके लाइब्रेरी को पुन: पैकेज करना। [DuplicatePlatformClasses]

निम्नलिखित मेरी निर्भरता है:

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:26.0.1' 
    compile 'com.android.support:support-v4:26.0.1' 
    compile 'org.greenrobot:eventbus:3.0.0' 
    compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+' 
    compile 'com.evernote:android-job:1.2.0' 
    compile 'com.amitshekhar.android:android-networking:1.0.0' 
    compile 'com.facebook.stetho:stetho:1.5.0' 
    compile "me.tatarka.redux:redux-core:0.10" 
    compile "me.tatarka.redux:redux-android:0.10" 
    compile "me.tatarka.redux:redux-android-lifecycle:0.10" 
    compile "me.tatarka.redux:redux-thunk:0.10" 
    annotationProcessor "org.immutables:value:2.5.5" // <-- for annotation processor 
    provided "org.immutables:value:2.5.5" // for annotations 
    provided "org.immutables:builder:2.5.5" // for annotations 

    compile "me.tatarka.redux:redux-monitor:0.10" 
    testCompile 'junit:junit:4.12' 
} 

यह json कह रहा है, लेकिन मैं जो ऊपर निर्भरता की समस्या का कारण है नहीं मिल रहा।

यहाँ मैं जब मैं प्रकार की समस्या को "DuplicatePlatformClasses" के लिए

gradlew assembleRelease 

Task :app:lintVitalRelease /Users/kruyvanna/Projects/key/HappyKey_Android2/app/build.gradle: Error: json defines classes that conflict with classes now provided by Android. Solutions include finding newer versions or alternative libraries that don't have the same problem (for example, for httpclient use HttpUrlConnection or okhttp instead), or repackaging the library using something like jarjar. [DuplicatePlatformClasses]

स्पष्टीकरण चलाने क्या मिलता है: कि एंड्रॉयड प्लेटफॉर्म लेकिन का उपयोग करने का न सिर्फ कार्यक्षमता नकल पुस्तकालयों में से एक संख्या हैं एंड्रॉइड में प्रदान किए गए के समान सटीक क्लास नाम - उदाहरण के लिए अपाचे http कक्षाएं। यह अप्रत्याशित दुर्घटनाओं के लिए का नेतृत्व कर सकता है।

इस हल करने के लिए, आप या तो पुस्तकालय जो अब इस समस्या है, या पुस्तकालय repackage करने के एक नए संस्करण (और इसके निर्भरता के सभी) को खोजने के लिए jarjar उपकरण की तरह कुछ का उपयोग कर की जरूरत है, या अंत में, अलग APIs का उपयोग करने के लिए कोड को फिर से लिखने (उदाहरण के लिए, http कोड के लिए, HttpUrlConnection या okhttp की तरह एक पुस्तकालय का उपयोग करें।)

1 त्रुटियों, 0 चेतावनी

विफलता: निर्माण एक अपवाद के साथ विफल रहा है।

  • क्या गलत हो गया: निष्पादन कार्य के लिए विफल ': एप्लिकेशन: lintVitalRelease'।

    Lint found fatal errors while assembling a release target.

    आगे बढ़ने के लिए, या तो मुद्दों फाहा से पहचान ठीक करना, या इस प्रकार अपने निर्माण स्क्रिप्ट को संशोधित: ... एंड्रॉयड { lintOptions { checkReleaseBuilds झूठी // या, यदि आप पसंद करते हैं, आप कर सकते हैं विज्ञप्ति में त्रुटियों की जांच करने के लिए बनाता है, जारी रखने // लेकिन निर्माण भी जब त्रुटियां मिलने पर जारी रखने के लिए: abortOnError झूठी } } ...

  • प्रयास करें: ०१२३५१६४१०६१स्टैक ट्रेस प्राप्त करने के लिए - स्टैकट्रैस विकल्प के साथ चलाएं। अधिक लॉग आउटपुट प्राप्त करने के लिए --info या --debug विकल्प के साथ चलाएं।

  • https://help.gradle.org

+0

क्या निर्माण उपकरण का उपयोग करते हैं में इस जोड़ें – Lino

+0

मैं एंड्रॉइड स्टूडियो का उपयोग कर रहा हूं। "बिल्ड -> साइन किए गए एपीके जेनरेट करें" पर क्लिक किया गया " – vanna

+0

क्या आपने समस्या हल की है? मुझे एक ही मुद्दे का सामना करना पड़ रहा है। – Hong

उत्तर

0

में अधिक सहायता प्राप्त कमांडलाइन पर जाएँ और निर्भरता पेड़ को देखो।

./gradlew dependencies 
0

मैं एक एक करके निर्भरता एक जोड़ा और यह एक पाया जोड़कर त्रुटि

compile "me.tatarka.redux:redux-monitor:0.10" 
0

मैं इसे तय के कारण:

configurations { 
    all { 
     exclude group: 'org.json', module: 'json' 
    } 
} 
यह आपको लगता है कि आपके एप्लिकेशन का उपयोग करता सब कुछ की एक सूची दे देंगे

मॉड्यूल ग्रेडल फ़ाइल में, निर्भरताओं को हटाने की आवश्यकता नहीं थी।

0

अपने app/build.gradle

configurations { 
    all { 
     exclude module: 'commons-logging' 
    } 
} 
संबंधित मुद्दे