You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin多平台移动端项目Firebase Crashlytics的集成实现方法咨询

Kotlin多平台移动端项目Firebase Crashlytics接入实操指南

安卓端配置核心要点

  • google-services.json正确放置位置:需存放至安卓专属模块对应构建变体的资源根目录下。以常见的androidApp安卓模块为例,调试构建的文件路径为androidApp/src/debug/google-services.json,正式构建的文件路径为androidApp/src/release/google-services.json。不要将该文件直接放在项目根目录,也不要放到跨端公共共享模块的资源路径下,放错位置会直接触发编译报错,提示找不到对应应用配置ID。如果项目存在多渠道、多构建变体的场景,每个变体目录下都要放置对应包名的独立配置文件,不要单文件通配所有构建场景。
  • 安卓侧依赖配置归属:所有和Crashlytics安卓实现绑定的依赖、插件配置,全部需要配置在安卓专属模块的构建脚本中,不要将这类依赖放入多平台公共模块。具体配置项包括:
    • 项目根构建脚本中引入对应的插件类路径,在安卓模块的构建脚本中依次应用谷歌服务插件、Crashlytics插件
    • 安卓模块内引入Crashlytics对应的ktx扩展依赖,满足业务逻辑里手动上报自定义事件的需求
    • 禁止将安卓专属的Firebase SDK依赖塞入公共共享模块:这类依赖是安卓端独有的,放到公共模块会导致iOS端打包时出现符号冲突、类找不到的编译错误。公共模块仅需保留跨端能力的expect抽象声明即可。

iOS端Crashlytics集成入门步骤

  • 第一步:完成基础依赖安装。在iOS端的Podfile中添加Firebase/Crashlytics依赖,执行安装命令完成SDK集成,不需要额外引入Analytics等无关组件,减少包体积冗余。
  • 第二步:配置符号化上传脚本。在Xcode的构建阶段中添加Crashlytics对应的dSYM上传脚本,脚本路径不要写错,否则打包后收集到的崩溃日志会因为无法符号化,完全看不到具体的堆栈信息。
  • 第三步:完成启动初始化。在iOS原生App的启动入口(也就是应用生命周期的didFinishLaunchingWithOptions方法中)调用Firebase初始化方法,完成Crashlytics实例的绑定。注意要和KMP公共模块做桥接适配:公共模块中定义的手动上报、用户标识设置等expect方法,在iOS专属模块中编写actual实现,直接调用Firebase iOS SDK的对应接口,让上层业务代码不需要写平台分支逻辑就能触发上报。
  • 实操踩坑提醒:不要把Crashlytics的初始化逻辑放到KMP公共模块的启动流程中,必须在原生启动入口先完成初始化,否则冷启动阶段发生的崩溃会完全丢失采集。

跨端配置通用原则

  • 多平台公共共享模块不要直接引入任何Firebase的实体SDK依赖,仅保留跨端通用能力的抽象定义即可;所有平台专属的SDK初始化、依赖引入逻辑,分别放在对应平台的专属模块中实现,从根源避免双端依赖耦合问题。

内容的提问来源于stack exchange,提问作者Jhonata Ávila

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.24 09:15:07