org.apache.commons.collections.ArrayStack 已经添加到输出中。请删除重复的副本
Posted
技术标签:
【中文标题】org.apache.commons.collections.ArrayStack 已经添加到输出中。请删除重复的副本【英文标题】:org.apache.commons.collections.ArrayStack has already been added to output. Please remove duplicate copies 【发布时间】:2015-02-12 00:36:06 【问题描述】:我仍在 Macbook Air 上使用 android Studio 0.8.9。在我的 iMac 上,我安装了 Android Studio 1.0。
由于 1.0 仅支持 'com.android.tools.build:gradle:1.0.0' 我不得不更改我的 build.gradles 正如这里提到的。 Gradle DSL method not found: 'runProguard'
0.8.9 使用 'com.android.tools.build:gradle:0.12.2'
apply plugin: 'com.android.application'
android
compileSdkVersion 20
buildToolsVersion "20.0.0"
defaultConfig
applicationId "com.example...."
minSdkVersion 19
targetSdkVersion 20
versionCode 1
versionName "0.87"
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
packagingOptions
exclude 'META-INF/LICENSE.txt'
exclude 'LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
dexOptions
preDexLibraries = false
repositories
mavenCentral()
flatDir
dirs 'libs'
dependencies
compile fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(':wear')
compile 'com.android.support:support-v4:20.0.+'
compile 'com.google.android.gms:play-services-wearable:+'
compile 'com.spotify.sdk:spotifysdk:1.0.0-beta6@aar'
compile('se.michaelthelin.spotify:spotify-web-api-java:1.4.20')
使用 MacBook Air 上的 0.8.9 测试版,我的应用程序构建良好。在我的 iMac 上出现此错误。
。
更新 问题似乎是 commons-collections 添加到外部库和 commons-beanutils 中,其中还包括 commons-collections。
编译('se.michaelthelin.spotify:spotify-web-api-java:1.4.20') 排除组:“commons-beanutils”,模块:“commons-beanutils”
如果我排除 commons-beanutils,构建过程很好,但应用程序崩溃,因为它需要 commons-beanutils。如果我排除公共集合,则相同。
此外,我尝试从 commons-beanutils jar 中手动删除文件夹 common-collections,但这也不起作用..
【问题讨论】:
【参考方案1】:终于成功了。
这个不包括公共集合,所以一切正常。 编译'commons-beanutils:commons-beanutils:20030211.134440'
不明白为什么在 beta 0.8.9 中不需要这样做
compile('se.michaelthelin.spotify:spotify-web-api-java:1.4.20')
exclude group: "commons-beanutils", module: "commons-beanutils"
compile 'commons-beanutils:commons-beanutils:20030211.134440'
【讨论】:
【参考方案2】:试试:
project > clean
project > rebuild
然后再次运行
【讨论】:
已经试过了,项目重建工作,但它在运行时抛出同样的错误。 尝试删除所有生成的目录(build、bin 等)并再次清理和重建。如果这不起作用,您必须搜索哪些库具有此类并排除其中一个。 感谢您的帮助,编译 'net.sf.json-lib:json-lib:2.4:jdk15' 导致了问题。如果我删除它(并删除我的 java 文件)它运行没有错误。 json-lib 也有 org.apache.commons.collections,参见mvnrepository.com/artifact/net.sf.json-lib/json-lib/2.4。那么如何在 build.gradle 中排除它呢? 这可行,但现在我的应用程序在运行时崩溃了。 :-( compile ('net.sf.json-lib:json-lib:2.4:jdk15') 排除组:“commons-collections”,模块:“commons-collections”以上是关于org.apache.commons.collections.ArrayStack 已经添加到输出中。请删除重复的副本的主要内容,如果未能解决你的问题,请参考以下文章