Android Studio'da (Gradle) apache commons koleksiyonları nasıl eklenir


100

ListUtils'i kullanmaya çalışıyorum ama uygulamayı çalıştırdığımda şu hatayı aldım:

 Caused by: java.lang.ClassNotFoundException: Didn't find class "org.apache.commons.collections.ListUtils" on path: DexPathList[[zip file "/data/app/com.meridianaspect.wiw-2/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]

Sanırım bu kitaplığı bir şekilde gradle aracılığıyla içe aktarmam gerekiyor, ama bunu nasıl yapacağımı bilmiyorum?


HttpClient zaten Android'in bir parçasıydı ancak API 23 + 'dan kullanılmıyor: stackoverflow.com/a/32157466/1085264
straya

Yanıtlar:


6

Jar dosyasını modülünüzün kök dizinindeki libs klasörüne yerleştirin. Ardından Dosya -> Proje Ayarları. Sol tarafta bu kitaplığı eklemek istediğiniz modülü seçin, sağ tarafta Bağımlılıklar sekmesini seçin. Alt kısımda Artı işaretine basın ve Dosya bağımlılığı'nı tıklayın. Ardından kavanozunuzu seçin ve projenizi senkronize edin


6
Bunu sadece Gradle'a biraz metin yerleştirerek ve jar dosyaları ve modülleri ile uğraşmak zorunda bırakarak yapmanın bir yolu var mı?
JK

@JK, kavanozları bırakıp her kavanozu belirtmeden mi demek istiyorsunuz?
Oleg Osipenko

3
Hayır, sadece onları almak için Repo Ne gradle söylüyorum, herhangi bir kavanoz bırakarak değil demek
JK

5
Org.apache.commons: commons-collections4: 4.0 'derlemesini deneyin
Oleg Osipenko

1
artı işaretine basıldığında başka bir seçenek de Kitaplık bağımlılığıdır ve arama var - adını yazın ve ilgilendiğiniz kitaplığı arayın
Oleg Osipenko

430

İhtiyaç duyduklarınızı seçin ve bunları build.gradlebağımlılıklar bloğuna ekleyin :

En son sürümü aldığınızdan emin olmak için bağlantıyı kontrol etmenizi öneririm. Düzenleme önermekten çekinmeyin.

koleksiyonlar : (bağlantı)

implementation 'org.apache.commons:commons-collections4:4.4'

lang : (bağlantı)

implementation 'org.apache.commons:commons-lang3:3.9'

sıkıştır : (bağlantı)

implementation 'org.apache.commons:commons-compress:1.19'

net : (bağlantı)

implementation 'commons-net:commons-net:3.6'

io : (bağlantı)

implementation 'commons-io:commons-io:2.6'

exec (bağlantı)

implementation 'org.apache.commons:commons-exec:1.3'

codec (bağlantı)

implementation 'commons-codec:commons-codec:1.13'

http (bağlantı)

implementation 'org.apache.httpcomponents:httpclient:4.5.10'

doğrulayıcı (bağlantı)

implementation 'commons-validator:commons-validator:1.6'

matematik (bağlantı)

implementation 'org.apache.commons:commons-math3:3.6.1'

Tüm Apache kitaplıklarını burada görün


1
ve lang için org.apache.commons:commons-lang3:3.4. kaynak: mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.4
Adam Johns

2
ve net için 'commons-net: commons-net: 3.3' derleyin
M. Usman Khan

@Chad Lütfen hangi bağımlılıkta olduğunu söyleyebilir misiniz FilenameUtils?
Iqbal

3
@Iqbal IO'da:compile 'commons-io:commons-io:2.5'
Glorfindel

Koleksiyonlarda neden CircularFifoBuffer yok? Bulamıyorum Aynı şey BufferUtils için de geçerli
android geliştiricisi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.