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
这是错误
[出了什么问题: 无法确定任务“: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