Error: more than one library with package name 'com.google.android.gms' using cordova plugin admob along with google plus for android

Error: more than one library with package name 'com.google.android.gms' using cordova plugin admob along with google plus for android

使用google+ cordova 插件时https://github.com/EddyVerbruggen/cordova-plugin-googleplus along with admob plugin https://github.com/appfeel/admob-google-cordova

在 Cordova CLI 中遇到此错误:

错误:包名称为 'com.google.android.gms' 的库不止一个 您可以使用 android.enforceUniquePackageName=false

暂时禁用此错误

看起来其中一个插件正在使用对 google 播放服务的弃用引用。

在执行 gradle 构建时 google 播放服务被引用到同一个应用程序两次并且 gradle 构建失败。

作为替代方案,我尝试跳过 gradle 构建以使用 --ant 构建,该构建不适用于警告 - 插件使用系统库,无法使用 ant 构建。

我花了一整天的时间解决了这个错误,我的构建成功了。

我创建了我的 cordova 项目,我首先使用 gitbash 添加了来自 git url 的两个插件。然后我在执行 "Cordova platform add android" CLI 命令之前做了 3 个简单的修改。

a) 转至 <your-app>\plugins\cordova-admob\plugin.xml 将“<dependency id="cordova-google-play-services" />”替换为“<framework src="com.google.android.gms:play-services-ads:+" />

我的研究:<dependency id="cordova-google-play-services" /> 现已弃用,我们需要使用 <framework> 标签。

b) 转到 <your-app>\platforms\android\build.gradle 将此行添加到文件“configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }”的末尾“

见下文:

******************在此之后添加*********************

if (hasProperty('postBuildExtras')) {
    postBuildExtras()
}

******************在此之后添加*********************

configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }

Gradle 文档鼓励您不要使用行内注释编辑此文件 > // 生成的文件!请勿编辑!

作为标准做法,将其添加到 build-extras。gradle,我没那么幸运,它失败了,所以我添加到 build.gradle