添加

时间:2019-04-03 13:27:55

标签: android firebase cordova cordova-plugins

我正在尝试将firebase推送通知添加到我的移动应用程序中,但是在尝试使用android studio进行构建时陷入了恶性循环。

Firebase告诉我将依赖项添加到我的根build.gradle文件中,当我使用cordova时,它是platforms/android/build.gradle,所以一旦我添加了它,我的buildscript依赖项就是这样

dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'
    classpath 'com.google.gms:google-services:4.1.0' // google-services dependency from cordova-plugin-firebase
    classpath 'io.fabric.tools:gradle:1.25.4' // fabric dependency from cordova-plugin-firebase
}

我也将这一行添加到build.gradle文件的底部

apply plugin: 'com.google.gms.google-services'

然后当我尝试构建时,在android studios中出现以下错误

  

无法添加任务':processDebugGoogleServices',因为该名称的任务已经存在。

当我搜索错误时,我进入this stack overflow question,这显然表示要从依赖项中删除google-services行。所以当我这样做并尝试重建时,出现以下错误

  

未找到ID为'com.google.gms.google-services'的插件。

然后,当我搜索该错误时,我会落在this stack overflow question上,该错误告诉我删除我添加的行,然后循环再次开始!

我对Cordova /应用程序开发非常陌生,我不确定100%是否在做完全错误的事情。

以防万一,运行cordova plugin list时会显示我的插件列表

cordova-open 1.0.12 "Open"
cordova-plugin-add-swift-support 1.7.2 "AddSwiftSupport"
cordova-plugin-badge 0.8.8 "Badge"
cordova-plugin-camera 4.0.3 "Camera"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-console 1.1.0 "Console"
cordova-plugin-contacts 2.3.1 "Contacts"
cordova-plugin-datepicker 0.9.3 "DatePicker"
cordova-plugin-device 2.0.2 "Device"
cordova-plugin-dialogs 2.0.1 "Notification"
cordova-plugin-fcm 2.1.2 "FCMPlugin"
cordova-plugin-file 6.0.1 "File"
cordova-plugin-file-transfer 1.7.1 "File Transfer"
cordova-plugin-fingerprint-aio 1.6.0 "FingerprintAllInOne"
cordova-plugin-firebase 2.0.5 "Google Firebase Plugin"
cordova-plugin-geolocation 4.0.1 "Geolocation"
cordova-plugin-inappbrowser 1.7.2 "InAppBrowser"
cordova-plugin-ios-camera-permissions 1.2.0 "iOS Permissions"
cordova-plugin-keyboard 1.2.0 "Keyboard"
cordova-plugin-listpicker 2.2.2 "ListPicker"
cordova-plugin-local-notification 0.9.0-beta.2 "LocalNotification"
cordova-plugin-mauron85-background-geolocation 2.3.6 "CDVBackgroundGeolocation"
cordova-plugin-pin-dialog 0.1.3 "PinDialog"
cordova-plugin-spinner 1.1.0 "Spinner Plugin"
cordova-plugin-spinnerdialog 1.3.2 "SpinnerDialog"
cordova-plugin-statusbar 2.4.2 "StatusBar"
cordova-plugin-whitelist 1.3.3 "Whitelist"
cordova-sqlite-storage 2.6.0 "Cordova sqlite storage plugin"
cordova-support-google-services 1.3.1 "cordova-support-google-services"
phonegap-plugin-multidex 1.0.0 "Multidex"
phonegap-plugin-push 1.11.1 "PushPlugin"

我在想也许我有冲突的插件?有人可以让我知道我在做错什么,此刻这一切都让我感到困惑!

如果我在上面指定的任何内容(例如root build.gradle位置)有误,请告诉我!正如我所说的,我对此很陌生,我不能100%确定我所说的一切是否正确!

1 个答案:

答案 0 :(得分:0)

对于遇到同样问题的任何人,在一次私密讨论后,我发现我的插件相互冲突。

从上面的插件列表中,我最终删除了

cordova-support-google-services cordova-plugin-fcm

仅保留

cordova-plugin-firebase