将 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/