मेरे एंड्रॉइड प्रोजेक्ट में, मैं एक पुस्तकालय का उपयोग करता हूं जो एक जार के रूप में आता है। मैं बहुत तरह निर्भरता अनुभाग में शामिल हैं:एंड्रॉइड ग्रैडल बिल्ड में, एक जार फ़ाइल से निर्भरताओं को कैसे बाहर निकालना है?
compile ('com.squareup.okhttp:okhttp:2.7.5')
(okhttp का यह विशेष संस्करण 1.6 Okio पर निर्भर करता है:
dependencies {
...
compile files('libs/thethirdpartylibrary.jar')
...
}
मैं भी okhttp पुस्तकालय है, जो मैं इस तरह शामिल उपयोग करना चाहते हैं .0।)
समस्या यह है कि थर्डपार्टी जार लाइब्रेरी ओकियो v0.9.0 पर निर्भर करती है और इससे भी बदतर, इसे बंडल करता है।
परिणामस्वरूप, मुझे बिल्ड समय पर एक डीएक्स संघर्ष त्रुटि मिलती है।
मैं जार फ़ाइल से मैन्युअल रूप से ओकियो को हटाकर इसे हल करने में सक्षम था और ऐसा लगता है कि यह काम करता है। लेकिन मैं सोच रहा हूं कि क्या धीरे-धीरे इसे करने का कोई तरीका है।
मेरा प्रश्न: क्या मैं बंडल, ट्रांजिटिव (< - मुझे उम्मीद है कि मैं इस शब्द का सही तरीके से उपयोग कर रहा हूं) ग्रेडलाइन के साथ बिल्ड-टाइम के दौरान एक जार से निर्भरता?
कोई कारण नहीं है कि आप कक्षाओं को हटाने के लिए तीसरे पक्ष के जार को फिर से क्यों नहीं बना सकते हैं, जिसे आप नहीं चाहते हैं? मुझे नहीं लगता कि ग्रेडल आपको फ़ाइल निर्भरता से बाहर निकलने के लिए विशिष्ट कक्षाओं का चयन करने की अनुमति देगा। –
वास्तव में, मैं अभी यही कर रहा हूं। मैं बस सोच रहा था कि क्या ग्रेडल के साथ ऐसा करने के लिए एक (सरल) तरीका है, ताकि विक्रेता पुस्तकालय में हर बार मैन्युअल रूप से ऐसा करने की ज़रूरत न हो। – treesAreEverywhere
हाय, क्या आपने इसे हल किया है? क्या आप अपना समाधान साझा कर सकते हैं? –