cordova - 添加cordova fcm插件后Gradle版本冲突

标签 cordova cordova-plugin-fcm

将 FCM 插件添加到项目后,它不再构建。

cordova 在哪里检查 GRADLE 版本?来自 package.json? 我试图更改 package.json 上的 ANDROID_GRADLE_TOOLS_VERSION 规范,但没有成功。

cordova plugin add cordova-plugin-fcm-with-dependecy-updated
cordova run android
FCMPlugin: Support for Gradle v4 or lower is deprecated. Please upgrade to a newer version.FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not create task ':app:processDebugGoogleServices'.
   > Cannot create a proxy class for abstract class 'GoogleServicesTask'.
BUILD FAILED in 3s

我尝试按照 Tiago 的建议使用插件版本 7.0.8

cordova plugin add cordova-plugin-fcm-with-dependecy-updated@7.0.8

现在我和相机插件有冲突

> Task :app:compileDebugJavaWithJavac
C:\myapp\app\platforms\android\app\src\main\java\org\apache\cordova\camera\CameraLauncher.java:40: error: package android.support.v4.content does not exist
import android.support.v4.content.FileProvider;
                                 ^
C:\myapp\app\platforms\android\app\src\main\java\org\apache\cordova\camera\CordovaUri.java:25: error: package android.support.v4.content does not exist
import android.support.v4.content.FileProvider;
                                 ^
C:\myapp\app\platforms\android\app\src\main\java\org\apache\cordova\camera\FileProvider.java:21: error: package android.support.v4.content does not exist
public class FileProvider extends android.support.v4.content.FileProvider {}
                                                            ^
C:\myapp\app\platforms\android\app\src\main\java\org\apache\cordova\camera\CameraLauncher.java:303: error: cannot find symbol
        this.imageUri = new CordovaUri(FileProvider.getUriForFile(cordova.getActivity(),
                                                   ^
  symbol:   method getUriForFile(Activity,String,File)
  location: class FileProvider
C:\myapp\app\platforms\android\app\src\main\java\org\apache\cordova\camera\CameraLauncher.java:801: error: cannot find symbol
                        Uri tmpFile = FileProvider.getUriForFile(cordova.getActivity(),
                                                  ^
  symbol:   method getUriForFile(Activity,String,File)
  location: class FileProvider
5 errors

> Task :app:compileDebugJavaWithJavac FAILED

FAILURE: Build failed with an exception.

删除 fcm 插件相机插件再次工作。 同样奇怪的是,即使在删除 fcm 插件后它仍在项目中并在控制台上显示错误消息

FCMPlugin.js:46 FCM: has been created
FCMPlugin.js:41 FCM: Ready error:  Class not found
FCMPlugin.js:43 FCM: Ready!
FCMPlugin.js:23 FCM: Error listening to native events Class not found

最佳答案

显然,我们将不得不等待 fcm 插件人员修复此问题。 几天前打开了这个github问题,看来他们只需要更新插件中的版本即可。

目前的解决方法是降级到以前的版本。我使用了 "cordova-plugin-fcm-with-dependecy-updated": "7.0.8" 并且正在运行。

Github 问题:https://github.com/andrehtissot/cordova-plugin-fcm-with-dependecy-updated/issues/222

关于cordova - 添加cordova fcm插件后Gradle版本冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65941591/

相关文章:

android - 错误: No resource found that matches the given name (at 'dial ogCornerRadius' with value '?android:attr/dialogCornerRadius' )

android - cordova-plugin-fcm 版本与 gradle 冲突

ios - 使用 FCM 推送通知在 ios ionic 中不起作用

android - 如何通过许可或其他方式保护FCM服务

angular - 从外部到特定路由的深层链接angular2 app

javascript - Ajax Javascript 获取 JSON 值

cordova - 如何添加Ionic2原生按钮点击音效?

node.js - Ionic 2 Google FCM 推送通知图标

ios - 无法使用 Java 使用 ionic 3 FCM token 将 iOS 设备 token 注册到 azure 通知中心

ios - InAppBrowser 注入(inject)脚本(使用 executeScript)