没有 google-services.json 和 google play 服务的 Firebase crashlytics

Posted

技术标签:

【中文标题】没有 google-services.json 和 google play 服务的 Firebase crashlytics【英文标题】:Firebase crashlytics without google-services.json and google play services 【发布时间】:2021-01-14 22:03:16 【问题描述】:

我正在尝试运行任务crashlyticsUploadMappingFileRelease 但是,它以“Google App ID not found”失败

我不想在我的应用程序中安装 google play services 插件。如何让它找到应用 ID?

【问题讨论】:

看这里的步骤 3 (https://firebase.google.com/docs/android/setup) 似乎要使用任何 firebase 库,您需要添加 google Services 插件(即 'com.google.gms:google-services:4.3.3') 是您不想添加的吗? 是的,这就是我不想添加的内容 好吧,我能问一下你为什么想要那个吗? Firebase 归 Google 所有,所以我很确定 Google 会强迫您添加它以使用 firebase 我在我的代码中支持多个应用程序,我想手动控制哪个应用程序做什么。但是,映射文件是apk通用的,因为我删除了google play服务,所以不会再上传了。我删除了谷歌播放服务,因为它是应用程序工作的要求。 (中国....) 好吧,大多数 Firebase 产品在中国都不起作用,因为 google 和 Crashlytics 似乎是其中之一 (https://github.com/firebase/firebase-ios-sdk/issues/5599) 【参考方案1】:

我遇到了同样的问题,花了很多时间来解决它。最后我得到了成功的结果。所以,你必须添加这个

firebaseCrashlytics 
    mappingFileUploadEnabled false

在您的项目中发布(或每个)构建类型 - 模块级 build.gradle。详情请见this。

稍后在代码中,您必须通过调用来初始化 firebase 应用程序

FirebaseApp.initializeApp(context, options);

FirebaseCrashlytics 也将被初始化。

注意:

这种方法有一个缺点。如果你使用混淆,firebase 控制台中的崩溃也会被混淆

希望这会对您或其他任何人有所帮助。

【讨论】:

这正是我想要避免的。我想手动调用上传。如何手动上传映射文件? 根据这个回答:***.com/a/47291552/4730040没有办法手动上传映射文件。

以上是关于没有 google-services.json 和 google play 服务的 Firebase crashlytics的主要内容,如果未能解决你的问题,请参考以下文章

错误“模块根文件夹中缺少文件 google-services.json。没有它,Google 服务插件无法运行”[重复]

如何在 Android 中添加 google-services.json?

如何维护两个google-services.json,生产和调试

Ionic 3 错误:“文件 google-services.json 丢失。没有它,Google 服务插件无法运行。”在 ionic cordova 构建/准备 android

无法在 google-services.json 中获取 firebase_url

google-services.json 用于不同的 productFlavors 和 buildTypes