如何在Android Studio(Gradle)中添加Apache Commons集合


98

我正在尝试使用ListUtils,但是当我运行该应用程序时出现此错误:

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

所以我想我必须以某种方式通过gradle导入该库,但是我不知道该怎么做?


HttpClient的是已经从API 23+的Android的一部分,但已过时:stackoverflow.com/a/32157466/1085264
straya

Answers:


6

将jar文件放在模块根目录的libs文件夹中。然后选择文件->项目设置。在左侧,选择要在其中添加此库的模块,在右侧,选择“选项卡”。在底部按加号,然后单击文件相关性。然后选择您的jar并同步项目


6
是否可以通过在Gradle中放置一些文本并处理jar文件和模块来做到这一点?
JK 2015年

@JK,您的意思是只放罐子而不指定每个罐子?
奥列格·奥西彭科

3
不,我的意思是不会放弃任何广口瓶,只是告诉gradle这个东西回购从中获取他们
JK

4
尝试“编译'org.apache.commons:公地collections4:4.0'
奥列格Osipenko

1
在按下加号时,另一个选项是“库依赖”,并且存在搜索-键入名称并搜索您感兴趣的库
Oleg Osipenko,2015年

420

选择所需的内容并将其添加到build.gradle的依赖项块中:

我建议检查链接以确保您获取最新版本。随时提出修改建议。

集合:(链接)

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

lang:(链接)

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

压缩:(链接)

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

净额:(链接)

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

io:(链接)

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

执行 (链接)

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

编解码器 (链接)

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

http (链接)

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

验证器 (链接)

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

数学 (连结)

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

在这里查看所有Apache库


1
和郎org.apache.commons:commons-lang3:3.4。资料来源:mvnrepository.com/artifact/org.apache.commons/commons-lang3/3.4
Adam Johns

2
对于net,请编译“ commons-net:commons-net:3.3”
M. Usman Khan

@Chad您能告诉我哪个依赖项FilenameUtils吗?
Iqbal

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

集合为什么没有CircularFifoBuffer?我找不到 BufferUtils也是如此
android开发人员
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.