मैं अपने Android आवेदन में Gradle उपयोग कर रहा हूँ एक मैं JScience पुस्तकालय निर्भरता उपयोग करना चाहते हैं कैसे बहिष्कृत करें। मैं पुस्तकालय इस तरह से जोड़ लिया है:Gradle: JScience जार निर्भरता से javax.realtime पैकेज (एकाधिक डेक्स को परिभाषित)
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'org.jscience:jscience:4.3.1'
testCompile group: 'junit', name: 'junit', version: '4.11'
}
लेकिन संकलन समय में मैं त्रुटि मिलती है:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Ljavax/realtime/MemoryArea;
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
इसका कारण यह है परियोजना में javax.realtime
संकुल डुप्लिकेट करने के कारण होता है, एक JDK का एक हिस्सा है, और दूसरा एक जेएसआईएस लाइब्रेरी में है। मैं Gradle में इस तरह Jscience पुस्तकालय से इस पैकेज को दूर करने की कोशिश की है:
sourceSets {
main {
java {
exclude 'javax/realtime/**'
}
}
}
configurations {
all*.exclude group: 'javax.realtime'
}
लेकिन वह मदद नहीं की। तो, वह पैकेज निर्भरता में अभी भी मौजूद है।
क्या कोई तरीका है कि मैं संकलन समय पर जार से पैकेज को कैसे बाहर निकाल सकता हूं?
" एक जावा का एक हिस्सा है। " यदि आप एक JDK के वर्ग पुस्तकालय का उपयोग नहीं कर रहे हैं के रूप में जब आप किसी Android ऐप्लिकेशन संकलन कर रहे हैं तथ्य यह है कि एक JDK के वर्ग पुस्तकालय 'javax.realtime' है, अर्थहीन है। – CommonsWare
उत्तर के लिए धन्यवाद, आप 100% सही हैं, मेरी गलती। समस्या, javolution (जो JScience पुस्तकालय से आता है) के लिए निर्भरता में था, क्योंकि यह 'शामिल javax.realtime' पैकेज। –