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.
在我的Wear应用程序中,我有一个引发错误的依赖项:
implementation 'com.google.android.gms:play-services-wearable:15.0.1'
如果我停用它,则gradle同步将正常工作。
据我所知,这是最新版本。谁能帮我解决这个问题?
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'
答案 0 :(得分:4)
问题是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!
答案 1 :(得分:0)
尝试android studio建议
Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:23:9-25:38 to override.
如果不起作用,请使用26.1.0
`
答案 2 :(得分:0)
您可以通过覆盖冲突的库来消除错误。 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'
...
}