Java 多个具有包名称的库

Java 多个具有包名称的库,java,android,gradle,Java,Android,Gradle,我的Gradle依赖项包括: compile'com.google.android.gms:play-services-gcm:8.1.0' compile 'com.google.android.gms:play-services-analytics:8.1.0' compile 'com.google.android.gms:play-services-ads:8.1.0 我获取生成失败,出现错误: 错误:任务“”的执行失败:应用程序:processDebugResources。 错误:多

我的Gradle依赖项包括:

compile'com.google.android.gms:play-services-gcm:8.1.0'
compile 'com.google.android.gms:play-services-analytics:8.1.0'
compile 'com.google.android.gms:play-services-ads:8.1.0
我获取生成失败,出现错误:

错误:任务“”的执行失败:应用程序:processDebugResources。 错误:多个程序包名为“com.google.android.gms”的库 您可以使用android暂时禁用此错误。enforceUniquePackageName=false 但是,这是临时的,将在1.0中强制执行


如何解决这个问题?

使用
gradle androidDependencies
了解重复的Google Play服务的来源。然后使用
exclude
过滤渐变依赖项中的重复项,例如

compile('something.that.includes.google.play.services:1.2.3') {
    exclude group: 'com.google.android.gms'
}

最简单的方法是用整个包替换这些依赖项:

compile 'com.google.android.gms:play-services:8.1.0'
然后你可能会编译它

或者在您的build.gradle中添加
android.enforceUniquePackageName=false

android {

    compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION)
    buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION)
        versionCode Integer.parseInt(project.VERSION_CODE)
        versionName project.VERSION_NAME
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

    android.packageBuildConfig = false
    android.enforceUniquePackageName = false

}

我遇到了同样的问题,我通过在
build.gradle(app)
中添加这一行
android.enforceUniquePackageName=false
解决了这个问题,如下所示:

buildTypes {
    release {
        ...
       ... ...
    }
} 
android.enforceUniquePackageName = false

没关系,但我不想从play服务加载所有LIB。由于多重索引:(这就是你所有的gradle依赖项吗?所以你要么手动检查18个依赖项,要么在android部分添加这一行:
android.enforceUniquePackageName=false
。现在构建失败被更改:错误:任务的执行失败:app:dexDebug.>com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecE。)异常:进程'command'/Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/Java''以非零退出值2结束