2014-05-23 32 views
8

Android uygulamasında Gradle kullanıyorum ve JScience kitaplığı bağımlılığını kullanmak istiyorum. Bir JDK bir parçasıdır, Bunun nedeni projede javax.realtime paketleri çoğaltma neden olurNot: javax.realtime paketi JScience jar bağımlılığından nasıl hariç tutulur (Multiple dex define)

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) 

: Ben kütüphanesi bu şekilde ekledik:

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 

    compile 'org.jscience:jscience:4.3.1' 

    testCompile group: 'junit', name: 'junit', version: '4.11' 
} 

Fakat derleme zamanında hatası alıyorum ve ikincisi Jscience kütüphanesinde. Bu paketi Jscience kitaplığından bu şekilde Not:

sourceSets { 
    main { 
     java { 
      exclude 'javax/realtime/**' 
     } 
    } 
} 

configurations { 
    all*.exclude group: 'javax.realtime' 
} 

'u kaldırmaya çalıştım ancak bu yardımcı olmadı. Yani, bu paket bağımlılıklarda hala var. enter image description here

Bir paketi derleme zamanında kavanozdan nasıl çıkarabileceğim herhangi bir yol var mı?

+2

"one, Java'nın bir parçasıdır" - Android'de javax.realtime' yoktur. Bir JDK'nın sınıf kütüphanesinin 'javax.realtime' adlı gerçeği, bir Android uygulaması derlerken bir JDK'nın sınıf kütüphanesini kullanmadığınız için anlamsızdır. – CommonsWare

+0

Cevabınız için teşekkürler,% 100 doğru, benim hatam. Sorun, javax.realtime' paketini içerdiğinden, javolution'a bağımlıydı (JScience kütüphanesinden geliyor). –

cevap

16

Herhangi bir kimseye ihtiyaç duyulduğunda, sorunkaynağından JScience kütüphanesinden alınmıştır. İkisi de javax.runtime paketinde bir hava yapıyor. Javolution hariç tutulduğunda, sorun benim için giderildi.

compile ('org.jscience:jscience:4.3.1') { 
    exclude group: 'org.javolution', module: 'javolution' 
} 
+0

Bunun için teşekkürler. Her zamanki rotaya göre çakışan bağımlılıkları bulamamıştım 'gradle -q app: bağımlılıklar' - eğer isteyebilirsem başvuruyu kazmak için hangi komutu kullandın? – AllDayAmazing

+0

Zaten hatırlamıyorum ama belki bir tür "çakmak bağımlılıkları" Intellij Idea –

+0

bir komut veya bağımlılık ağaç aracı Bunun için teşekkür ederim. Bu "java.exe sıfır olmayan çıkış değeri 2 ile bitmiş" ile ilgili sorunumu çözdü. – Ralphilius

İlgili konular