【发布时间】:2017-03-02 14:02:06
【问题描述】:
cordova中有很多插件,其中很多使用google play服务。并且每个插件都想使用一些特殊版本的播放服务。真的很烦。
为了解决这个问题,我尝试在 graddle 中创建简单的依赖版本解析器。它应该从某些插件依赖项(我的意思是播放服务版本)中获取所需的版本,并为其他插件依赖项设置相同的版本。
这是我的脚本:
def right_version = "9+";
configurations.all{
resolutionStrategy{
eachDependency { DependencyResolveDetails details ->
if (details.requested.name.contains('play-services') && details.requested.version != '9+') {
right_version = details.requested.version
}
}
eachDependency { DependencyResolveDetails details ->
if ( details.requested.name.contains('play-services') ){
details.useVersion right_version
}
}
}
}
它工作正常,但有一个小问题。我收到如下错误:
Conflict with dependency 'com.google.android.gms:play-services-ads'. Resolved versions for compilation (10.2.0) and packaging (9.8.0) differ. This can generate runtime errors due to mismatched resources.
是什么原因?或者您知道解决依赖冲突的更好方法?
【问题讨论】:
标签: android cordova gradle dependency-management