首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android依赖关系最终声明为本机

Android依赖关系最终声明为本机
EN

Stack Overflow用户
提问于 2015-11-30 18:51:43
回答 2查看 149关注 0票数 1

在我的Android项目build.gradle文件中:

代码语言:javascript
复制
dependencies {
  compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
  compile 'org.apache.commons:commons-collections4:4.0'
}

当我运行aapt dump badging时,我看到:

代码语言:javascript
复制
native-code: 'commons-io-2.4.jar'

很明显,commons不是原生代码,但Android插件认为它是。如何告诉Android插件这个库不包含本机代码?同样好奇的是,它是如何决定这个库是什么架构的呢?它似乎选择了一些arm,因为APK不会安装在基于英特尔的Android仿真器上,它给出了一个错误:INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-04 08:01:11

您可能正在使用不正确的Commons库。尝试:

http://mvnrepository.com/artifact/commons-io/commons-io/2.4

您使用的版本似乎是特定于2.4的,这似乎是一个桌面应用程序。

票数 2
EN

Stack Overflow用户

发布于 2015-12-04 13:51:22

我曾经很难在构建代码中引入对commons-io:2.4的依赖。问题是Gradle本身附带了一个版本的commons-io。在我的例子中,它可以用以下方法解决:

代码语言:javascript
复制
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

这可能是完全不相关的:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34005802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档