You need to enable JavaScript to run this app. Firebase Crashlytics在Android API 19触发Expected API 21+崩溃的原因及修复
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Crashlytics在Android API 19触发Expected API 21+崩溃的原因及修复

崩溃根本原因
  • 直接触发源是Crashlytics传递依赖的OkHttp:OkHttp 4.11.0及以上版本在AndroidPlatform类的静态初始化逻辑中,新增了硬性API等级校验,检测到运行设备SDK <21时直接抛出IllegalStateException,与堆栈报错完全对应。
  • 本地SDK 19 AVD未复现的原因:该崩溃触发链路是Crashlytics异步后台拉取远端配置时,才会初始化内置的OkHttpClient实例。手动测试时如果未等待该后台任务执行完成,或是本地依赖解析得到的OkHttp版本与线上构建产物的依赖版本存在差异,就会出现本地无复现、线上收到崩溃上报的情况。
  • 未查询到Crashlytics官方minSdk限制的原因:Crashlytics本身官方兼容最低SDK 19,但未对传递依赖的OkHttp版本做兼容约束,导致高版本OkHttp的minSdk要求直接穿透到应用运行链路中。
可落地修复方案
  • 方案1(保留API 19兼容,侵入性最低):强制将依赖树中的OkHttp版本降级到兼容API 19的版本,在app模块build.gradle的dependencies块添加如下依赖声明:
    implementation("com.squareup.okhttp3:okhttp:4.10.0")
    该版本OkHttp未新增上述硬性API校验,完全支持API 19及以上设备运行,可彻底避免该崩溃。
  • 方案2(符合长期版本适配趋势):将应用的minSdkVersion直接提升到21,匹配OkHttp高版本的最低运行要求。当前API 21以下的设备用户占比已极低,该调整不会造成明显的用户损失。

内容的提问来源于stack exchange,提问作者Lahiru Chandima

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.15 00:27:05