Грешка: повече от една библиотека с име на пакет „com.google.android.gms“

Използвам Android Studio 0.8.2 и създадох проект с Android 4.1 и Android Wear 4.4. Трябва да го интегрирам с Google Play Services.

Опитвам се да следя страницата за настройка на услугите на 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.+'
}

Изглежда, че препоръчителната зависимост е в противоречие с изявлението за компилиране на wearable. Искам да запазя поддръжката на носими устройства и в същото време се нуждая от услуги на 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
Това проработи. Грешката изчезна и все още мога да използвам 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