a.b*_*k13 33 android gradle build.gradle android-gradle-plugin
这个错误信息是什么意思?我的项目中没有重复的包
错误:任务':SimpleReader:processDebugResources'的执行失败.
错误:包含名称为"com.google.android.gms"的多个库
您可以使用android.enforceUniquePackageName = false临时禁用此错误但是,这是临时的,将在1.0中强制执行
我build.gradle看起来像这样:
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.1'
}
}
apply plugin: 'android'
android {
buildToolsVersion '19.0.3'
defaultConfig {
minSdkVersion 14
targetSdkVersion 17
}
compileSdkVersion 17
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
}
buildTypes {
}
}
dependencies {
compile 'com.android.support:support-v4:19.0.1'
compile 'com.google.android.gms:play-services:4.2.42'
compile files('libs/gson-2.2.4.jar')
compile files('libs/httpmime-4.1.jar')
compile files('libs/httpclient-4.1.1.jar')
compile files('libs/jsoup-1.7.3.jar')
compile project(':libraries:actionbarsherlock')
compile project(':libraries:sherlocknavigationdrawer')
compile project(':libraries:googleplayservices')
compile project(':libraries:androidslidinguppanel')
compile files('libs/protocol-1.0.4.jar')
compile files('libs/sentry-0.1.4.jar')
compile files('libs/commons-lang-2.3.jar')
}
Run Code Online (Sandbox Code Playgroud)
Edu*_*ysh 34
在我的情况下,问题是因为我包括:
compile 'com.google.android.gms:play-services-wearable:+'
compile 'com.google.android.gms:play-services:4.4.52'
Run Code Online (Sandbox Code Playgroud)
可穿戴式游戏服务和常规服务.我评论了可穿戴部分,它起作用了.
不确定我是否需要它,但项目向导默认包含它
Spa*_*Bao 16
今天我遇到了同样的问题.我需要使用Google Analytics,因此我按照教程导入google analytics lib:
compile 'com.google.android.gms:play-services-analytics:9.0.0'
Run Code Online (Sandbox Code Playgroud)
然后编译项目,gradle告诉我 Error: more than one library with package name 'com.google.android.gms'
我绝对可以肯定我只能com.google.android.gms通过google analyticslib 直接导入一次.
所以我导航到ProjectAndroid Studio中的标签,看看这个项目所依赖的库是什么,然后我找到了play-services-6.5.87显示External Libraries,如下面的截图:
所以现在我知道还有另一个lib依赖play-services-6.5.87,但我不知道它是哪个lib.
然后我在控制台中使用gradle命令来查看项目依赖项:
$ ./gradlew -q app:dependencies
Run Code Online (Sandbox Code Playgroud)
结果告诉我com.facebook.android:audience-network-sdk:4.6.0依赖它.
那么我们如何解决这个问题,两种方式:
audience-network-sdk,只需删除它.事实上,我的项目不需要它.如果你还需要audience-network-sdk和google-analytics,使用exclude group语法,如下面的代码片段.
//facebook SDK
compile ('com.facebook.android:audience-network-sdk:4.6.0')
{exclude group: 'com.google.android.gms'}
// google analytics
compile 'com.google.android.gms:play-services-analytics:9.0.0'
Run Code Online (Sandbox Code Playgroud)在你的情况下,audience-network-sdk可以是任何其他lib依赖于与其他lib相同的lib.这里只是思考如何解决类似的问题.
尝试删除compile project(':libraries:googleplayservices')或compile 'com.google.android.gms:play-services:4.2.42'.我很确定它们是同一个库.
| 归档时间: |
|
| 查看次数: |
46058 次 |
| 最近记录: |