@ IntelliJ-अमिय के जवाब की तरह, या proguard
का उपयोग कर अपने समस्या का समाधान होगा और मैं व्यक्तिगत रूप से है कि सलाह देते हैं।
यदि आप उस विधि का पालन नहीं करना चाहते हैं, तो आप डुप्लीकेट निर्भरताओं को मैन्युअल रूप से बहिष्कृत कर सकते हैं।
डुप्लीकेट निर्भरताओं को खोजने के लिए अपने टर्मिनल में निम्न आदेश निष्पादित करें। अपनी परियोजना के नाम के रूप में
./gradlew :app:dependencies --configuration compile
या खिड़कियों पर यदि आप,
gradlew.bat :app:dependencies --configuration compile
परिवर्तन :app
।
मान लेते हैं अपने Gradle निर्भरता इस तरह कर रहे हैं दो:
compile 'com.android.support:support-compat:26.+'
compile 'com.android.support:support-fragment:26.+'
आप नीचे दिए गए की तरह उत्पादन प्राप्त होगा:
+--- com.android.support:support-compat:26.+ -> 26.0.0-alpha1
| \--- com.android.support:support-annotations:26.0.0-alpha1
\--- com.android.support:support-fragment:26.+ -> 26.0.0-alpha1
+--- com.android.support:support-compat:26.0.0-alpha1 (*)
+--- com.android.support:support-core-ui:26.0.0-alpha1
| +--- com.android.support:support-annotations:26.0.0-alpha1
| \--- com.android.support:support-compat:26.0.0-alpha1 (*)
\--- com.android.support:support-core-utils:26.0.0-alpha1
+--- com.android.support:support-annotations:26.0.0-alpha1
\--- com.android.support:support-compat:26.0.0-alpha1 (*)
और तुम (*)
के साथ चिह्नित निर्भरता को देख सकते हैं, और इन निर्भरताओं को बाहर रखा जा सकता है।आप देख सकते हैं support-compat
दोहराया गया है, और बाहर निकालने के लिए यह संपादित करें द्वारा इस तरह से किया जाता है:
compile ('com.android.support:support-fragment:26.+') {
exclude module: 'support-compat'
}
इस दोहरा जब तक आप नीचे 64k
गिनती प्राप्त कर सकते हैं और अब सबसे कठिन हिस्सा बनी हुई है।
मेरे अनुभव में, कुछ निर्भरताओं को छोड़कर निर्माण विफल, रनटाइम अपवाद आदि हो सकता है। इसलिए आपको बिना किसी समस्या के अपने आवेदन को अच्छी तरह से जांचने की आवश्यकता है।
इस सहायता की आशा करें।
'(*)' के साथ चिह्नित निर्भरता का मतलब है कि उनका पहले उल्लेख किया गया है। उन्हें बाहर मत करो। उनकी आवश्यकता है और केवल एक बार शामिल है। –