Ошибка: более одной библиотеки с именем пакета "com.google.android.gms"

Я использую Android Studio 0.8.2 и создал проект с Android 4.1 и Android Wear 4.4. Мне нужно интегрировать его с сервисами Google Play.

Я пытаюсь перейти на страницу настройки Служб Google Play для Android Studio здесь: https://developer.android.com/google/play-services/setup.html

На шаге 2 говорится добавить эту зависимость:

compile 'com.google.android.gms:play-services:5.0.77'

Однако при синхронизации я получаю это сообщение:

Error:Execution failed for task ':mobile: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

Вот мой полный файл build.gradle внутри мобильного модуля:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 20
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "com.OptimizedPrime.locationweartabs"
        minSdkVersion 16
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    wearApp project(':wear')
    compile 'com.google.android.gms:play-services-wearable:+'
    compile 'com.google.android.gms:play-services:5.0.77'
    // You must install or update the Support Repository through the SDK manager to use this dependency.
    compile 'com.android.support:support-v13:19.+'
}

Похоже, что рекомендуемая зависимость конфликтует с оператором компиляции носимых устройств. Я хочу сохранить поддержку носимых устройств и в то же время нуждаюсь в сервисах Google Play. Как я могу это исправить?


person Gerard    schedule 17.07.2014    source источник
comment
Возможно ли, что одна из библиотек зависит от другой? Возможно, есть транзитивная зависимость, поэтому вам не нужно ее добавлять.   -  person The End    schedule 17.07.2014
comment
Этот ответ очень помог: stackoverflow.com/a/37772331/2371425. Вам нужно убедиться, что несколько com.google.android.gms не импортируются.   -  person Sakiboy    schedule 08.11.2016


Ответы (2)


Если у вас есть:

compile 'com.google.android.gms:play-services-wearable:5.0.77'

то вам не нужно:

compile 'com.google.android.gms:play-services:5.0.77'

Удалите не носимый.

person Scott Barta    schedule 17.07.2014
comment
Это сработало. Ошибка исчезла, и я все еще могу использовать Location API. Благодарю вас! - person Gerard; 18.07.2014
comment
В моем случае import com.google.android.gms.plus.PlusClient нужно compile 'com.google.android.gms:play-services:5.2.08'. Поэтому удаляю носимый. - person Dalinaum; 06.10.2014

Возможно, вы используете разные типы зависимостей с разными версиями:

com.google.android.gms:play-services-neededDependency:версия

Пример: если вы используете обе зависимости, как указано ниже:

compile 'com.google.android.gms:play-services-gcm:7.8.0'
compile 'com.google.android.gms:play-services-ads:8.3.0'

Попробуйте использовать одну и ту же версию для разных зависимостей. Например:

compile 'com.google.android.gms:play-services-gcm:7.8.0'
compile 'com.google.android.gms:play-services-ads:7.8.0'

Спасибо, надеюсь, полезно для вас.

person Mihir Trivedi    schedule 11.12.2015
comment
это действительно помогло. Была проблема с com.google.android.gms:play-services и - person Scarysize; 02.02.2016