多个图书馆包含名称' com.google.android.gms' (仅限8.1)和Cordova

时间:2015-09-30 19:34:02

标签: cordova gradle google-play-services

当我更新Cordova和Android SDK(所有版本都在最新版本中)时,我的Cordova项目中出现了非常奇怪的错误。

自更新以来,我使用gradle收到以下错误:错误:包含名称的多个库' com.google.android.gms'

Cordova插件没有改变,这在更新之前运行良好。 删除/添加Android平台或清除它并不能解决此错误。

似乎是由于com.google.android.gms的版本8.1

我使用cordova-plugin-google-analytics,它使用: com.google.android.gms:play-services-analytics:+(我假设+表示最后一个版本?) 由于这条线和更新,项目不再构建 用值替换+(例如7.5.0等)

8.x是否有突破性变化?

我也看过这篇文章:https://code.google.com/p/android/issues/detail?id=187464

现在我会强制一个值,但如果你有更好的解决方案,欢迎你

由于

1 个答案:

答案 0 :(得分:1)

我用钩子解决了这个问题。它不完美但有效。

在after_platform_add中添加此脚本

#!/usr/bin/env node


var fs = require('fs');
var path = require('path');
var fork = require('child_process').fork,
    shell = require("shelljs");

var dir = './platforms/android/';

fs.writeFileSync(dir + 'build-extras.gradle', 'configurations { all*.exclude group: \'com.android.support\', module: \'support-v4\'}', 'utf8');