"more than one library with package name 'com.google.android.gms'" 在 Ionic 上

"more than one library with package name 'com.google.android.gms'" on Ionic

我在尝试为 android 构建离子应用程序时遇到错误。它抛出一个错误:Error: more than one library with package name 'com.google.android.gms',我不知道是什么插件组合导致了它。是什么插件导致了这个问题,我该怎么办?谢谢!

ionic plugin list 的输出:

cc.fovea.cordova.purchase 3.11.0 "Purchase"
com.google.playservices 21.0.0 "Google Play Services for Android"
com.ionic.keyboard 1.0.4 "Keyboard"
com.phonegap.plugins.PushPlugin 2.5.8 "PushPlugin"
com.phonegap.plugins.facebookconnect 0.11.2 "Facebook"
com.verso.cordova.clipboard 0.1.0 "Clipboard"
cordova-plugin-camera 1.2.0 "Camera"
cordova-plugin-console 1.0.1 "Console"
cordova-plugin-crosswalk-webview 1.2.0 "Crosswalk WebView Engine"
cordova-plugin-device 1.0.1 "Device"
cordova-plugin-file 2.1.0 "File"
cordova-plugin-file-transfer 1.2.0 "File Transfer"
cordova-plugin-geolocation 1.0.1 "Geolocation"
cordova-plugin-google-analytics 0.8.0 "Google Universal Analytics Plugin"
cordova-plugin-inappbrowser 1.0.1-dev "InAppBrowser"
cordova-plugin-network-information 1.0.1 "Network Information"
cordova-plugin-splashscreen 2.0.1-dev "Splashscreen"
cordova-plugin-statusbar 1.0.1 "StatusBar"
cordova-plugin-whitelist 1.0.0 "Whitelist"
org.apache.cordova.globalization 0.3.4 "Globalization"
twitter-connect-plugin 0.4.0 "Twitter Connect"

运行 ./gradlew :app:dependencies 并查看哪些包正在使用 com.google.android.gms。然后排除它的一个或多个依赖:

compile('some_package') {
    exclude group: 'com.google.android.gms', module: 'some_module'
} 

哇!我能够修复它。

  1. 在与 build.gradle 相同的文件夹中创建一个 build-extras.gradle 文件。
  2. 填入:

    configurations { all*.exclude group: 'com.android.support', module: 'support-v4' all*.exclude group: 'com.google.android.gms', module: 'play-services-analytics' }

第二行与此错误相关,第一行修复了类似的问题。