包名 'com.google.android.gms' 的多个库(仅限 8.1)和 Cordova
More than one library with package name 'com.google.android.gms' (only 8.1) and Cordova
当我更新 Cordova 和 Android SDK(都是最新版本)时,我的 Cordova 项目中出现了非常奇怪的错误。
自从更新后,我在 gradle 中遇到了以下错误:错误:包名称为 'com.google.android.gms'
的库不止一个
Cordova 插件没有改变,在更新之前它运行良好。
Removing/adding Android 平台或清理它无法修复此错误。
似乎是由于 com.google.android.gms
的 8.1 版本
我使用 cordova-plugin-google-analytics,它使用:
com.google.android.gms:play-services-analytics:+ (我假设 + 表示最新版本?)
由于这一行和更新,项目不再构建
用一个值(例如 7.5.0 等)替换 + 效果很好
8.x 是否有重大变化?
我也看到了这个post:https://code.google.com/p/android/issues/detail?id=187464
现在我会强制一个值,但如果您有更好的解决方案,欢迎您
谢谢
我已经用钩子解决了这个问题。它不完美但有效。
在您的 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');
当我更新 Cordova 和 Android SDK(都是最新版本)时,我的 Cordova 项目中出现了非常奇怪的错误。
自从更新后,我在 gradle 中遇到了以下错误:错误:包名称为 'com.google.android.gms'
的库不止一个Cordova 插件没有改变,在更新之前它运行良好。 Removing/adding Android 平台或清理它无法修复此错误。
似乎是由于 com.google.android.gms
的 8.1 版本我使用 cordova-plugin-google-analytics,它使用: com.google.android.gms:play-services-analytics:+ (我假设 + 表示最新版本?) 由于这一行和更新,项目不再构建 用一个值(例如 7.5.0 等)替换 + 效果很好
8.x 是否有重大变化?
我也看到了这个post:https://code.google.com/p/android/issues/detail?id=187464
现在我会强制一个值,但如果您有更好的解决方案,欢迎您
谢谢
我已经用钩子解决了这个问题。它不完美但有效。
在您的 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');