Apache cordova Build 实施 firebase 失败:依赖失败

Apache cordova Build failed on implementing firebase : Dependency failing

这是错误

[出了什么问题: 无法确定任务“:app:compileDebugJavaWithJavac”的依赖项。

In project 'app' a resolved Google Play services library dependency depends on another at an exact version (e.g. "[19.0. 1]", but isn't being resolved to that version. Behavior exhibited by the library will be unknown.

依赖失败:com.google.firebase:firebase-messaging:19.0.1 -> com.google.firebase:firebase-iid@[19.0.1],但是火了 base-iid 版本为 20.0.2.

以下依赖是直接的项目依赖或具有导致艺术的传递依赖 如果有问题。]这是命令提示符图片---view

今天也发生在我身上。就我而言,我通过在 package.json 文件中将 firebase 消息传递版本更改为 20.1.+ 来解决它,尽管我的版本早于 19.0.1,所以它可能不适用于您的项目。

更新:

如果您使用的是 cordova 插件,那么这取决于您如何为该插件指定您想使用哪个版本的 Google 消息传递库。

例如,在我的例子中,我使用的 cordova-plugin-firebase-messaging 在自述文件中包含以下语句:

Use variables FIREBASE_ANALYTICS_VERSION, FIREBASE_MESSAGING_VERSION and ANDROIDX_CORE_VERSION to override dependency versions on Android.

因此,在我的 package.json 中,我将包括以下内容:

{
    ...
    "dependencies": {
        ...
        "cordova-plugin-firebase-messaging": "4.0.1"
    },
    "cordova" : {
        ...
        "plugins": {
            "cordova-plugin-firebase-messaging": {
                "FIREBASE_MESSAGING_VERSION": "20.1.+"
            }
        }
    }
}

但这仅适用于此 cordova 插件,如果您使用的是其他插件,请查看他们的自述文件以检查是否可以指定本机消息传递库的版本。

如果您使用的是cordova-plugin-fcm-with-dependecy-updated。将 package.json 上的 FCM_VERSION 更改为 20.1.+

希望对您有所帮助!

我使用

解决了它
  "cordova-plugin-fcm-with-dependecy-updated": {
    "FCM_CORE_VERSION": "16.0.9",
    "FCM_VERSION": "20.1.+",
    "GRADLE_TOOLS_VERSION": "3.5.0",
    "GOOGLE_SERVICES_VERSION": "4.2.0",
    "ANDROID_DEFAULT_NOTIFICATION_ICON": "@mipmap/ic_launcher"
  },

"cordova-plugin-firebase-analytics": {
    "FIREBASE_ANALYTICS_COLLECTION_ENABLED": "true",
    "FIREBASE_ANALYTICS_VERSION": "17.4.+"
  }

在package.json

This Worked。仅更改 package.json 中的版本无效。不知道为什么。

如果完全可行,我会建议将您的离子框架升级到最新版本。但是,如果那不可行,下面是我如何解决我们遗留项目之一的问题。

您可以通过更改

强制 firebase 使用 firebase-messaging 的正确版本
com.google.firebase:firebase-messaging:19.+
com.google.firebase:firebase-messaging:20.+

在以下文件中:

  • platforms\android\project.properties
  • platforms\android\app\build.gradle
  • plugins\cordova-plugin-firebase-lib\plugin.xml

我也遇到了同样的问题。对我来说,更改 gradle 有效。

我在里面改了following gradle-wrapper.properties

来自

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip