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?

JK
sumber
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

Oleg Osipenko
sumber
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

Chad Bingham
sumber
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