在我的Android项目build.gradle文件中:
dependencies {
compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
compile 'org.apache.commons:commons-collections4:4.0'
}当我运行aapt dump badging时,我看到:
native-code: 'commons-io-2.4.jar'很明显,commons不是原生代码,但Android插件认为它是。如何告诉Android插件这个库不包含本机代码?同样好奇的是,它是如何决定这个库是什么架构的呢?它似乎选择了一些arm,因为APK不会安装在基于英特尔的Android仿真器上,它给出了一个错误:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE。
发布于 2015-12-04 08:01:11
您可能正在使用不正确的Commons库。尝试:
http://mvnrepository.com/artifact/commons-io/commons-io/2.4
您使用的版本似乎是特定于2.4的,这似乎是一个桌面应用程序。
发布于 2015-12-04 13:51:22
我曾经很难在构建代码中引入对commons-io:2.4的依赖。问题是Gradle本身附带了一个版本的commons-io。在我的例子中,它可以用以下方法解决:
sourceSets {
main {
compileClasspath = configurations.compile.minus files("$gradle.gradleHomeDir/lib/commons-io-1.4.jar")
}
}我从HOME/commons 1.4.jar进入类路径,导致失败拿了这个片段
但是请注意,不建议使用Gradle附带的不同版本的库。
您可以在这里找到更多有关这方面的信息:https://discuss.gradle.org/t/unable-to-use-commons-io-2-4-because-gradle-forces-the-loading-of-commons-io-1-4/8021
这可能是完全不相关的:)
https://stackoverflow.com/questions/34005802
复制相似问题