Предупреждение синхронизации Gradle - сбой слияния манифеста - play-services-wearable - PullRequest
0 голосов
/ 27 июня 2018

Я получаю следующее сообщение об ошибке после синхронизации gradle:

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.2) from [com.android.support:percent:26.0.2] AndroidManifest.xml:25:13-35
    is also present at [com.android.support:support-v4:26.1.0] AndroidManifest.xml:28:13-35 value=(26.1.0).
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:23:9-25:38 to override.

В моем приложении для одежды есть эта зависимость, которая выдает ошибку:

implementation 'com.google.android.gms:play-services-wearable:15.0.1'

Если я деактивирую его, сработает синхронизация.

Насколько я знаю, это последняя версия. Может кто-нибудь помочь, как я могу это исправить?

Зависимости приложения Android Wear:

compileOnly 'com.google.android.wearable:wearable:2.3.0'
implementation 'com.google.android.support:wearable:2.3.0'
implementation 'com.google.android.gms:play-services-wearable:15.0.1'

Ответы [ 3 ]

0 голосов
/ 27 июня 2018

Вы можете удалить ошибку, переопределив конфликтующую библиотеку. play-services-wearable:15.0.1 библиотека выглядит как использование com.android.support:percent:26.0.2, которое также включено в com.android.support:support-v4:26.1.0. Попробуйте добавить библиотеку support:percent в свой блок зависимостей примерно так:

dependencies {
    implementation 'com.google.android.support:percent:26.1.0'
    implementation 'com.android.support:support-v4:26.1.0'

    ...
}
0 голосов
/ 27 июня 2018

Проблема в com.google.android.support:wearable:2.3.0 зависит от поддержки библиотеки 26.0.2 !
Смотри здесь https://mvnrepository.com/artifact/com.google.android.support/wearable/2.3.0!

com.google.android.gms:play-services-wearable:15.0.1 зависит от библиотеки поддержки 26.1.0 !
Смотри здесь https://mvnrepository.com/artifact/com.google.android.gms/play-services-basement/15.0.1!

Я решил это, добавив это в файл манифеста:

<meta-data
      tools:replace="android:value"
      android:name="android.support.VERSION"
      android:value="26.1.0" />

Но это не идеально, потому что вы должны изменить или удалить это, если вы добавляете более высокую версию библиотеки. Если вы забудете об этом, вы все равно будете использовать 26.1.0 вместо новой версии.

От Google должно прийти реальное решение, что более новая версия com.google.android.support:wearable должна использовать зависимость 26.1.0 вместо 26.0.2!

0 голосов
/ 27 июня 2018

попробуйте предложение андроид студии

Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:23:9-25:38 to override.

И если это не работает, используйте 26.1.0 `

...