Cordova Android build error: ":app:processReleaseGoogleServices' (type 'GoogleServicesTask')"
Cordova Android build error: ":app:processReleaseGoogleServices' (type 'GoogleServicesTask')"
当前行为
尝试为 Android 构建我的 Ionic Cordova 应用程序时,出现以下错误:
构建命令:ionic cordova build android --prod --release
Task :app:processReleaseGoogleServices FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Some problems were found with the configuration of task ':app:processReleaseGoogleServices' (type 'GoogleServicesTask').
- In plugin 'com.google.gms.googleservices.GoogleServicesPlugin' 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.googleservices.GoogleServicesPlugin' type 'com.google.gms.googleservices.GoogleServicesTask' field 'packageNameXOR1' without corresponding getter has been annotated with @Input.
Reason: Annotations on fields are only used if there's a corresponding getter for the field.
Possible solutions:
1. Add a getter for field 'packageNameXOR1'.
2. Remove the annotations on 'packageNameXOR1'.
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.googleservices.GoogleServicesPlugin' type 'com.google.gms.googleservices.GoogleServicesTask' field 'packageNameXOR2' without corresponding getter has been annotated with @Input.
Reason: Annotations on fields are only used if there's a corresponding getter for the field.
Possible solutions:
1. Add a getter for field 'packageNameXOR2'.
2. Remove the annotations on 'packageNameXOR2'.
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.googleservices.GoogleServicesPlugin' type 'com.google.gms.googleservices.GoogleServicesTask' field 'quickstartFile' without corresponding getter has been annotated with @InputFile, @Optional.
Reason: Annotations on fields are only used if there's a corresponding getter for the field.
Possible solutions:
1. Add a getter for field 'quickstartFile'.
2. Remove the annotations on 'quickstartFile'.
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.googleservices.GoogleServicesPlugin' type 'com.google.gms.googleservices.GoogleServicesTask' field 'searchedLocation' without corresponding getter has been annotated with @Input.
Reason: Annotations on fields are only used if there's a corresponding getter for the field.
Possible solutions:
1. Add a getter for field 'searchedLocation'.
2. Remove the annotations on 'searchedLocation'.
Please refer to https://docs.gradle.org/7.1.1/userguide/validation_problems.html#ignored_annotations_on_field for more details about this problem.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.1.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 6s
4 actionable tasks: 2 executed, 2 up-to-date
Command failed with exit code 1: /Users/derekmiller/Zogo/Zogo-Frontend/platforms/android/gradlew :app:bundleRelease -b /Users/derekmiller/Zogo/Zogo-Frontend/platforms/android/build.gradle
[ERROR] An error occurred while running subprocess cordova.
cordova build android --release exited with exit code 1.
从 cordova-android 8.1.1
升级到 10.1.1
后出现此构建错误。我们被迫进行此更改,以便我们可以针对 Android API 30.
预期行为
构建成功的应用程序
我尝试了什么
- 大多数遇到此错误的其他人表示,可以通过确保 google 服务版本为
4.3.8
来解决此问题
- 我们试图通过直接在
build.gradle
中设置 classpath com.google.gms:google-services:4.3.8
来做到这一点
- 我们还尝试通过向
config.xml
添加以下内容来做到这一点:
<preference name="GradlePluginGoogleServicesEnabled" value="true" />
<preference name="GradlePluginGoogleServicesVersion" value="4.3.8" />
这两个更改后错误仍然存在
在我的 config.xml
中设置 <preference name="AndroidXEnabled" value="true" />
技术细节
离子 CLI:5.4.16
Cordova CLI:9.0.0
科尔多瓦 Android: 10.1.1
Android SDK工具:26.1.1
OS: macOS 大苏尔
project.properties:
target=android-30
android.library.reference.1=CordovaLib
android.library.reference.2=app
cordova.gradle.include.1=branch-cordova-sdk/child-rules.gradle
cordova.system.library.1=com.google.android.play:core:1.8.0
cordova.gradle.include.2=cordova-plugin-fcm-with-dependecy-updated/child-FCMPlugin.gradle
cordova.system.library.2=com.google.firebase:firebase-core:16.0.9
cordova.system.library.3=com.google.firebase:firebase-messaging:18.0.0
cordova.gradle.include.3=cordova-plugin-ionic/child-cordovapluginionic.gradle
cordova.system.library.4=com.google.android.gms:play-services-analytics:11.0.1
cordova.system.library.5=androidx.annotation:annotation:1.1.0
cordova.system.library.6=com.mixpanel.android:mixpanel-android:5.9.1
cordova.system.library.7=com.google.android.gms:play-services-base:16.+
cordova.system.library.8=com.google.firebase:firebase-messaging:16.+
cordova.system.library.9=androidx.legacy:legacy-support-v4:1.0.0
我只想问你有没有试过在不改变构建文件本身的情况下按照下面的方式做,如果没有,试试并重建它,让我知道
要升级:
cordova platform remove android
cordova platform add android@10.1.1
我通过在根 build.gradle
中设置全局 google 服务版本解决了这个问题
allprojects {
// other settings
ext {
GOOGLE_SERVICES_VERSION = '4.3.10'
}
}
我尝试设置 google 服务版本的其他方法不起作用,因为有一些其他插件试图使用不同版本的 google 服务。我相信以这种方式设置版本可确保它们都使用相同的版本。
当前行为
尝试为 Android 构建我的 Ionic Cordova 应用程序时,出现以下错误:
构建命令:ionic cordova build android --prod --release
Task :app:processReleaseGoogleServices FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Some problems were found with the configuration of task ':app:processReleaseGoogleServices' (type 'GoogleServicesTask').
- In plugin 'com.google.gms.googleservices.GoogleServicesPlugin' 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.googleservices.GoogleServicesPlugin' type 'com.google.gms.googleservices.GoogleServicesTask' field 'packageNameXOR1' without corresponding getter has been annotated with @Input.
Reason: Annotations on fields are only used if there's a corresponding getter for the field.
Possible solutions:
1. Add a getter for field 'packageNameXOR1'.
2. Remove the annotations on 'packageNameXOR1'.
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.googleservices.GoogleServicesPlugin' type 'com.google.gms.googleservices.GoogleServicesTask' field 'packageNameXOR2' without corresponding getter has been annotated with @Input.
Reason: Annotations on fields are only used if there's a corresponding getter for the field.
Possible solutions:
1. Add a getter for field 'packageNameXOR2'.
2. Remove the annotations on 'packageNameXOR2'.
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.googleservices.GoogleServicesPlugin' type 'com.google.gms.googleservices.GoogleServicesTask' field 'quickstartFile' without corresponding getter has been annotated with @InputFile, @Optional.
Reason: Annotations on fields are only used if there's a corresponding getter for the field.
Possible solutions:
1. Add a getter for field 'quickstartFile'.
2. Remove the annotations on 'quickstartFile'.
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.googleservices.GoogleServicesPlugin' type 'com.google.gms.googleservices.GoogleServicesTask' field 'searchedLocation' without corresponding getter has been annotated with @Input.
Reason: Annotations on fields are only used if there's a corresponding getter for the field.
Possible solutions:
1. Add a getter for field 'searchedLocation'.
2. Remove the annotations on 'searchedLocation'.
Please refer to https://docs.gradle.org/7.1.1/userguide/validation_problems.html#ignored_annotations_on_field for more details about this problem.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.1.1/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 6s
4 actionable tasks: 2 executed, 2 up-to-date
Command failed with exit code 1: /Users/derekmiller/Zogo/Zogo-Frontend/platforms/android/gradlew :app:bundleRelease -b /Users/derekmiller/Zogo/Zogo-Frontend/platforms/android/build.gradle
[ERROR] An error occurred while running subprocess cordova.
cordova build android --release exited with exit code 1.
从 cordova-android 8.1.1
升级到 10.1.1
后出现此构建错误。我们被迫进行此更改,以便我们可以针对 Android API 30.
预期行为
构建成功的应用程序
我尝试了什么
- 大多数遇到此错误的其他人表示,可以通过确保 google 服务版本为
4.3.8
来解决此问题
- 我们试图通过直接在
build.gradle
中设置 - 我们还尝试通过向
config.xml
添加以下内容来做到这一点:
classpath com.google.gms:google-services:4.3.8
来做到这一点
<preference name="GradlePluginGoogleServicesEnabled" value="true" />
<preference name="GradlePluginGoogleServicesVersion" value="4.3.8" />
这两个更改后错误仍然存在
在我的
中设置config.xml
<preference name="AndroidXEnabled" value="true" />
技术细节
离子 CLI:5.4.16
Cordova CLI:9.0.0
科尔多瓦 Android: 10.1.1
Android SDK工具:26.1.1
OS: macOS 大苏尔
project.properties:
target=android-30
android.library.reference.1=CordovaLib
android.library.reference.2=app
cordova.gradle.include.1=branch-cordova-sdk/child-rules.gradle
cordova.system.library.1=com.google.android.play:core:1.8.0
cordova.gradle.include.2=cordova-plugin-fcm-with-dependecy-updated/child-FCMPlugin.gradle
cordova.system.library.2=com.google.firebase:firebase-core:16.0.9
cordova.system.library.3=com.google.firebase:firebase-messaging:18.0.0
cordova.gradle.include.3=cordova-plugin-ionic/child-cordovapluginionic.gradle
cordova.system.library.4=com.google.android.gms:play-services-analytics:11.0.1
cordova.system.library.5=androidx.annotation:annotation:1.1.0
cordova.system.library.6=com.mixpanel.android:mixpanel-android:5.9.1
cordova.system.library.7=com.google.android.gms:play-services-base:16.+
cordova.system.library.8=com.google.firebase:firebase-messaging:16.+
cordova.system.library.9=androidx.legacy:legacy-support-v4:1.0.0
我只想问你有没有试过在不改变构建文件本身的情况下按照下面的方式做,如果没有,试试并重建它,让我知道
要升级:
cordova platform remove android
cordova platform add android@10.1.1
我通过在根 build.gradle
allprojects {
// other settings
ext {
GOOGLE_SERVICES_VERSION = '4.3.10'
}
}
我尝试设置 google 服务版本的其他方法不起作用,因为有一些其他插件试图使用不同版本的 google 服务。我相信以这种方式设置版本可确保它们都使用相同的版本。