尝试包含Google Play服务位置库时,出现以下错误:
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed : Attribute meta-data#android.support.VERSION@value
value=(25.4.0) from [com.android.support:design:25.4.0]
AndroidManifest.xml:28: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:26:9-28:38 to override.
我的依赖关系如下:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
// You must install or update the Support Repository through the SDK manager to use this dependency.
compile 'com.android.support:support-v4:25.4.0'
compile 'com.android.support:design:25.4.0'
implementation "com.android.support:appcompat-v7:25.4.0"
implementation "com.android.support:preference-v14:25.4.0"
implementation "com.koushikdutta.ion:ion:2.+"
implementation 'com.twilio:video-android:2.0.0-beta2'
implementation 'com.google.android.gms:play-services-location:12.0.0'
compile('org.simpleframework:simple-xml:2.7.+') {
exclude module: 'stax'
exclude module: 'stax-api'
exclude module: 'xpp3'
}
}
我已经试过了:
更改支持库的版本。如果我这样做,我会得到一系列关于资源和属性未被发现的错误。
添加一个解析策略,如几篇有类似错误的文章中所述,比如this one。这会导致类似的一连串错误。
正在更新生成工具的版本。
正在更新compilesdkversion。
我觉得一定有一个简单的解决办法,但我似乎找不到。谢谢你的时间。
最佳答案
您应该使用以下项检查冲突库中的依赖项:
./gradlew app:dependencies
其中app是您的模块名。
或者执行以下操作(请阅读View the dependency tree中的详细信息):
选择“视图>工具窗口>渐变”(或单击工具窗口栏中的渐变)。
展开appname>tasks>android并双击androiddependencies。Gradle执行任务后,运行窗口应打开以显示输出。
从您的依赖项中快速检查,
com.koushikdutta.ion:ion:2.+
正在使用its dependencies中的以下内容:compile 'com.android.support:support-v4:+'
它将获得支持库的最新版本。因此,您需要从中排除支持库,方法是:
implementation ("com.koushikdutta.ion:ion:2.+") {
exclude group: 'com.android.support'
exclude module: 'support-v4'
}
您应该尽量避免在依赖关系库版本中使用
+
。确保对
compileSdkVersion
、buildToolsVersion
、targetSdkVersion
和support libraries
使用相同的版本。关于android - Google Play位置库: list 合并失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49637756/