Cara menambahkan koleksi apache commons di Android Studio (Gradle)


98

Saya mencoba menggunakan ListUtils tetapi ketika saya menjalankan aplikasi saya mendapat kesalahan ini:

 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]]

Jadi saya rasa saya harus mengimpor perpustakaan itu melalui gradle, tetapi saya tidak tahu bagaimana melakukannya?


HttpClient sudah menjadi bagian dari Android tetapi usang dari API 23+: stackoverflow.com/a/32157466/1085264
straya

Jawaban:


6

Tempatkan file jar di folder libs di root modul Anda. Kemudian File -> Project Settings. Di sisi kiri pilih modul tempat Anda ingin menambahkan lib ini, di sisi kanan pilih tab Dependencies. Di bagian bawah tekan tanda Plus dan klik Ketergantungan file. Kemudian pilih jar Anda dan sinkronkan proyek


6
Apakah ada cara untuk melakukan ini hanya dengan menempatkan beberapa teks di Gradle dan harus berurusan dengan file dan modul jar?
JK

@JK maksud Anda hanya menjatuhkan toples dan tidak menentukan masing-masing toples?
Oleg Osipenko

3
Tidak, maksud saya tidak menjatuhkan botol apa pun, hanya memberi tahu gradle dari repo apa untuk mendapatkannya
JK

4
Coba 'kompilasi' org.apache.commons: commons-collections4: 4.0 '
Oleg Osipenko

1
pada menekan tanda plus opsi lain adalah ketergantungan Perpustakaan dan ada pencarian - ketik nama dan cari perpustakaan yang Anda minati
Oleg Osipenko

421

Pilih yang Anda butuhkan dan tambahkan ke build.gradleblok dependensi:

Saya sarankan untuk memeriksa tautan untuk memastikan Anda mendapatkan versi terbaru. Jangan ragu untuk menyarankan pengeditan.

koleksi : (link)

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

lang : (link)

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

kompres : (tautan)

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

bersih : (tautan)

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

io : (tautan)

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

exec (tautan)

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

codec (tautan)

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

http (tautan)

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

validator (tautan)

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

matematika (tautan)

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

Lihat semua perpustakaan Apache di sini


1
dan untuk lang org.apache.commons:commons-lang3:3.4,. sumber: mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.4
Adam Johns

2
dan untuk net, kompilasi 'commons-net: commons-net: 3.3'
M. Usman Khan

@ Chad Bisakah Anda jelaskan di dependensi yang mana FilenameUtils?
Iqbal

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

Kenapa koleksi tidak memiliki CircularFifoBuffer? Saya tidak dapat menemukannya. Hal yang sama berlaku untuk BufferUtils
pengembang android
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.