2015-11-04 72 views
1

我的摇篮依赖包括:不止一个库包名

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 

我得到BUILD失败,错误:

Error:Execution failed for task ':app:processDebugResources. Error: more than one library with package name 'com.google.android.gms' You can temporarily disable this error with android.enforceUniquePackageName=false However, this is temporary and will be enforced in 1.0

我怎样才能解决这个问题?

回答

1

使用gradle androidDependencies可以了解重复的Google Play服务来自何处。然后使用exclude来筛选Gradle依赖项中的重复项,例如

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

最简单的方法是全包替换这些依赖关系:

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 

} 
+0

没关系,但我不想从play-services加载所有库。因为multiDex :( – anilst

+0

是你所有的gradle依赖关系吗? – Nawako

+0

不,我有18个以上的 – anilst