Android-Cordova 10.0.1 任务:app:processDebugGoogleServices 失败

Posted

技术标签:

【中文标题】Android-Cordova 10.0.1 任务:app:processDebugGoogleServices 失败【英文标题】:Android-Cordova 10.0.1 Task :app:processDebugGoogleServices FAILED 【发布时间】:2021-10-15 18:54:53 【问题描述】:

我已将 cordova-android 版本从 9.0 升级到 10.0.1,并在使用 - ionic cordova build android 构建 Cordova 应用程序时遇到以下问题

错误:

Task :app:processDebugGoogleServices FAILED
Some problems were found with the configuration of task ':app:processDebugGoogleServices' (type 'GoogleServicesTask').
  - In plugin 'com.google.gms.google-services' type 'com.google.gms.googleservices.GoogleServicesTask' field 'intermediateDir' without corresponding getter has been annotated with @OutputDirectory.

    Reason: Annotations on fields are only used if there's a corresponding getter for the field.

    Possible solutions:
      1. Add a getter for field 'intermediateDir'.
      2. Remove the annotations on 'intermediateDir'.

    Please refer to https://docs.gradle.org/7.1.1/userguide/validation_problems.html#ignored_annotations_on_field for more details about this problem.    
  - In plugin 'com.google.gms.google-services' type 'com.google.gms.googleservices.GoogleServicesTask' field 'packageNameXOR1' without corresponding getter has been annotated with @Input.

信息

Cordova CLI - 10.0.0

科尔多瓦机器人:10.0.1

节点:v12.18.2

npm:6.14.13

项目安装的插件

@havesource/cordova-plugin-push: 2.0.0
    cordova-android-play-services-gradle-release: 4.0.0
    cordova-background-geolocation-lt: 4.0.1
    cordova-plugin-advanced-http: 3.1.0
    cordova-plugin-android-permissions: 1.1.2
    cordova-plugin-androidx-adapter: 1.1.3
    cordova-plugin-androidx: 3.0.0
    cordova-plugin-app-launcher: 0.4.0
    cordova-plugin-app-version: 0.1.12
    cordova-plugin-appminimize: 1.0.1
    cordova-plugin-background-fetch: 7.0.1
    cordova-plugin-badge: 0.8.8
    cordova-plugin-camera: 5.0.2
    cordova-plugin-device: 2.0.3
    cordova-plugin-file-opener2: 3.0.5
    cordova-plugin-file: 6.0.2
    cordova-plugin-filepath: 1.6.0
    cordova-plugin-googlemaps: 2.7.1
    cordova-plugin-inappbrowser: 5.0.0
    cordova-plugin-ionic-keyboard: 2.2.0
    cordova-plugin-ionic-webview: 4.2.1
    cordova-plugin-local-notification: 0.9.0-beta.2
    cordova-plugin-market: 1.2.0
    cordova-plugin-ms-azure-mobile-apps: 2.0.2
    cordova-plugin-network-information: 2.0.2
    cordova-plugin-sim: 1.3.3
    cordova-plugin-sms-retriever-manager: 1.0.2
    cordova-plugin-splashscreen: 6.0.0
    cordova-plugin-statusbar: 2.4.3
    cordova-plugin-twilio-chat: 3.3.0
    cordova-plugin-whitelist: 1.3.4
    cordova-sqlite-storage: 6.0.0
    phonegap-plugin-barcodescanner: 8.1.0
    phonegap-plugin-multidex: 1.0.0

谁能知道如何解决这个问题?

【问题讨论】:

【参考方案1】:

我已通过在 config.xml 文件中添加以下首选项来解决此问题:

<preference name="android-targetSdkVersion" value="30" />
<preference name="AndroidXEnabled" value="true" />
<preference name="GradlePluginGoogleServicesEnabled" value="true" />
 
 <!-- Updated the version of com.google.gms.google-services -->
<preference name="GradlePluginGoogleServicesVersion" value="4.3.8" /> ,

包.json:

"cordova-android": "^10.1.0"

Gradle 版本:7.1.1

https://services.gradle.org/distributions/gradle-7.1.1-all.zip"

【讨论】:

【参考方案2】:

它终于对我有用了。我将使用的gradle版本更改为6.7.1并重新安装了一些过时的cordova插件。

使用的插件:

@havesource/cordova-plugin-push 2.0.0 "Cordova Push Plugin"
cordova-plugin-advanced-http 2.5.1 "Advanced HTTP plugin"
cordova-plugin-camera 5.0.0 "Camera"
cordova-plugin-device 2.0.3 "Device"
cordova-plugin-facebook4 6.4.0 "Facebook Connect"
cordova-plugin-file 6.0.2 "File"
cordova-plugin-googleplus 8.5.0 "Google SignIn"
cordova-plugin-inappbrowser 3.2.0 "InAppBrowser"
cordova-plugin-ionic-keyboard 2.2.0 "cordova-plugin-ionic-keyboard"
cordova-plugin-ionic-webview 5.0.0 "cordova-plugin-ionic-webview"
cordova-plugin-network-information 2.0.1 "Network Information"
cordova-plugin-splashscreen 5.0.3 "Splashscreen"
cordova-plugin-statusbar 2.4.3 "StatusBar"
cordova-plugin-whitelist 1.3.4 "Whitelist"
cordova-plugin-wkwebview-inject-cookie 1.0.2 "WKWebViewInjectCookie"
cordova-support-google-services 1.1.0 "cordova-support-google-services"

【讨论】:

你能把你正在使用的插件版本发给我吗?所以,我可以升级它们并检查它 答案已更新为当前使用的插件。您是否尝试过使用 gradle 6.7.1? cordova android 10 已弃用白名单插件,并且不支持该插件。您如何使用版本 10 进行构建? npmjs.com/package/cordova-plugin-whitelist【参考方案3】:

就我而言,提供的答案都没有帮助。 看看这里fix-google-services 配置中的其他解决方案,也许对某人会有帮助。

我有 9.1.0 版本的 'cordova-android' 不支持 Android API 30+ Android API Levels and Android Versions

我如何解决问题或如何破解解决方案: 运行:

    cordova 平台 rm android cordova 平台添加 android

这应该在platforms\android中生成一个“build.gradle”文件 然后,手动更改“project.ext”部分代码并指定您想要的版本,在我的情况下,我需要支持 30 个 API 版本:

project.ext 
  defaultBuildToolsVersion="30.0.0" //String
  defaultMinSdkVersion=23 //Integer - Minimum requirement is Android 5.1
  defaultTargetSdkVersion=30 //Integer - We ALWAYS target the latest by default
  defaultCompileSdkVersion=30 //Integer - We ALWAYS compile with the latest by default

您可以根据需要修改@Mike(在 1 个链接中)提出的 sh 脚本。

顺便说一句,当我试图解决 cordova-android 版本 10 上的问题时 - 这段代码甚至没有出现在“build.gradle”中。

什么也可以提供帮助:

    删除 cordova-plugin-whitelist - 版本 10 不支持它。 在 SDK 平台管理器中 - 下载所需的 API 级别; 在 SDK 工具管理器中 - 下载所需的构建工具版本;

【讨论】:

我们不应该在自动生成的“platforms\android”中手动更改文件。 @H_H 是的,我同意也提到这是一个 hack,因为没有其他解决方案不适合我。

以上是关于Android-Cordova 10.0.1 任务:app:processDebugGoogleServices 失败的主要内容,如果未能解决你的问题,请参考以下文章

kafka的partiton限制拉取数据条数问题定位

kafka的partiton限制拉取数据条数问题定位

nginx基于域名的虚拟主机实战配置

我想在 python 中使用 while 循环创建简单列表 [0, 0.05, 0.10, 0.15,.....,1.00]

JDK 10.0.1发布

LINUX NFS的安装与配置