Cordova/Ionic Android:推送和 Google 地图插件之间的 Google 播放服务版本冲突

Cordova/Ionic Android: Conflicting Google Play Services versions between Push and GoogleMaps plugins

我目前正在开发需要 Push and GoogleMaps 插件的 Ionic 应用程序。

如果我创建一个 blank/new 项目,添加 android 平台,并且只安装一个插件,那么一切都会完美无缺。但是,一旦安装了这两个插件,Android 将不会构建。

这是我到目前为止所做的,也是最能basic/simple 证明问题的方法:

  1. ionic 启动 GoogleServicesIsues 空白
  2. cd GoogleServicesIssue
  3. ionic cordova 平台添加 android@latest
  4. ionic cordova 插件添加 cordova-plugin-googlemaps --variable API_KEY_FOR_ANDROID="123" --变量 API_KEY_FOR_IOS="ABC"
  5. ionic cordova 插件添加 phonegap-plugin-push --variable FCM_VERSION=15.0.1
  6. ionic cordova 构建 android

...构建失败,因为找不到 firebase-messaging 库。

Could not resolve all files for configuration ':app:debugCompileClasspath'.

Could not find com.google.firebase:firebase-messaging:15.0.1. Searched in the following locations:

文件:/用户/[用户]/Library/Android/sdk/extras/android/m2repository/com/google/firebase/firebase-messaging/15.0.1/firebase-messaging-15.0.1.jar

https://jcenter.bintray.com/com/google/firebase/firebase-messaging/15.0.1/firebase-messaging-15.0.1.pom

 https://jcenter.bintray.com/com/google/firebase/firebase-messaging/15.0.1/firebase-messaging-15.0.1.jar

https://maven.google.com/com/google/firebase/firebase-messaging/15.0.1/firebase-messaging-15.0.1.pom

有谁知道如何让这两个插件协同工作吗?

请检查此 cordova 插件是否解决了您的问题。 https://github.com/dpa99c/cordova-android-play-services-gradle-release

这来自 Push 插件,它缺少对 build.gradle:

的依赖
api "com.google.firebase:firebase-messaging:17.3.2"

^ 我有版本 17.3.2 - 而你正在请求版本 15.0.1.

...因此我假设,安装现有版本应该可以解决这个问题:

ionic cordova plugin rm phonegap-plugin-push
ionic cordova plugin add phonegap-plugin-push --variable FCM_VERSION=17.3.2

版本 15.0.1 可能更适合 Google Play 服务;有待补充:

<framework src="com.google.android.gms:play-services-base:15.0.1"/>
<framework src="com.google.android.gms:play-services-auth:16.0.0"/>

如果仍然缺少更多依赖项,请在下方留言。