我使用Cordova创建了一个应用,然后按照说明准备与Firebase插件集成的应用:
在阅读了插件和Firebase文档之后,我遇到了此错误:
:app:processDebugGoogleServices失败
失败:构建失败,并出现异常。
*出了什么问题: 任务':app:processDebugGoogleServices'执行失败。 >文件google-services.json丢失。没有它,Google Services插件将无法运行。 搜索位置: /myAppCordova2/platforms/android/app/src/nullnull/debug/google-services.json /myAppCordova2/platforms/android/app/src/debug/nullnull/google-services.json /myAppCordova2/platforms/android/app/src/nullnull/google-services.json /myAppCordova2/platforms/android/app/src/debug/google-services.json /myAppCordova2/platforms/android/app/src/nullnullDebug/google-services.json /myAppCordova2/platforms/android/app/google-services.json
SO中建议的解决方案:
将google-services.json复制到目录/platforms/android/app/
,但这会产生另一个错误:
:app:mergeDebugResources失败
失败:构建失败,并出现异常。
- 出了什么问题: 任务':app:mergeDebugResources'的执行失败。
[string / google_app_id] /myAppCordova2/platforms/android/app/src/main/res/values/strings.xml [string / google_app_id] / myAppCordova2 / platforms / android / app / build / generation / res / google- services / debug / values / values.xml:错误:资源重复 [string / google_api_key] /myAppCordova2/platforms/android/app/src/main/res/values/strings.xml [string / google_api_key] / myAppCordova2 / platforms / android / app / build / generated / res / google-services / debug /values/values.xml:错误:资源重复
PS: 我尝试了在SO中提出的几个修复程序,但都没有解决我的问题,有人可以帮助我吗?
答案 0 :(得分:1)
我找到了解决问题的方法:
此处提供了与我遵循的(以及引起问题的)类似的指令,尽管相关性的版本有些过时:
造成我这种情况的原因是,按照Firebase中“应用程序创建”页面上的这些说明进行操作,并将依赖项添加到项目和模块的build.gradle
文件中,如下所示:
添加项目build.gradle /project/platforms/android/build.gradle
:
buildscript {
repositories {
jcenter ()
maven {
url "https://maven.google.com"
}
Google()
}
dependencies {
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.android.tools.build:gradle:3.1.3'
// Firebase
classpath 'com.google.gms: google-services: 4.0.0'
}
}
并添加模块build.gradle /project/platforms/android/app/build.gradle
:
buildscript {
repositories {
mavenCentral ()
jcenter ()
maven {
url "https://maven.google.com"
}
Google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
// Firebase
classpath 'com.google.gms: google-services: 4.0.0'
classpath 'com.google.firebase: firebase-core: 16.0.0'
}
}
// Firebase, add at the end of the same file
apply plugin: 'com.google.gms.google-services'
解决方案:
我找到的解决方案是对注释// Firebase
之前的行进行注释:
文件:/project/platforms/android/build.gradle
:
buildscript {
repositories {
jcenter ()
maven {
url "https://maven.google.com"
}
Google()
}
dependencies {
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.android.tools.build:gradle:3.1.3'
// Firebase
// classpath 'com.google.gms: google-services: 4.0.0'
}
}
文件:/project/platforms/android/app/build.gradle
:
buildscript {
repositories {
mavenCentral ()
jcenter ()
maven {
url "https://maven.google.com"
}
Google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
// Firebase
//classpath 'com.google.gms: google-services: 4.0.0'
//classpath 'com.google.firebase: firebase-core: 16.0.0'
}
}
// Firebase, add at the end of the same file
//apply plugin: 'com.google.gms.google-services'
完成这些步骤后,一切正常,我能够毫无问题地运行$ cordova build android
。
建议: 如果发生任何其他错误,请尝试删除插件和平台,然后重新创建它们:
$ cordova plugin rm cordova-plugin-firebase
$ cordova platform rm android
$ cordova plugin add cordova-plugin-firebase
$ cordova platform add android