如何解决使用.xml代替google_services.json时,Gradle构建失败
我正在设置Firebase Crashlytics。当我使用google_services.json时,它可以正常工作。但是由于我们有几个构建变体,所以我更喜欢使用.xml,因此我可以在控制台上创建2个应用程序,在项目中创建2个文件:
-src/main/res/values/google_services.xml (for all builds,corresponds to test app at firebase)
-src/release/res/values/google_services.xml (for prod-release build)
我还删除了应用插件:“ com.google.gms.google-services”
但是我的构建无法完成所有发布任务:
assembleTestRelease
assembleStageRelease
原因在
minifyEnabled true
shrinkResources true
在Firebase Crashlytic(与Fabric)上进行迁移之前,它运行良好。
错误:
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:uploadCrashlyticsMappingFileTestRelease'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.accept(ExecuteActionsTaskExecuter.java:151)
...
Caused by: org.gradle.api.GradleException: Crashlytics could not find the resource file generated by Google Services. You may need to execute the :process<Variant>GoogleServices Task. Please check your Firebase project configuration (https://firebase.google.com/docs/android/setup).
at com.google.firebase.crashlytics.buildtools.gradle.ProjectVariantState.getGoogleAppId(ProjectVariantState.groovy:195)
... 35 more
解决方法
您应该能够使用以下值成功重新创建google services xml文件:
google_app_id:
{YOUR_CLIENT}/client_info/mobilesdk_app_id
gcm_defaultSenderId:
project_info/project_number
default_web_client_id:
{YOUR_CLIENT}/oauth_client/client_id (client_type == 3)
ga_trackingId:
{YOUR_CLIENT}/services/analytics-service/analytics_property/tracking_id
firebase_database_url:
project_info/firebase_url
google_api_key:
{YOUR_CLIENT}/api_key/current_key
google_crash_reporting_api_key:
{YOUR_CLIENT}/api_key/current_key
project_id:
project_info/project_id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。