java - Crashlytics 在记录时崩溃
问题描述
我最近将我的 android 应用程序中的 Crashlytics 更新为 v. 2.9.4。从那时起,当我尝试记录一些信息时,我开始在某些设备上看到错误:
java.lang.IllegalStateException:
at io.fabric.sdk.android.Fabric.singleton (Fabric.java:275)
at io.fabric.sdk.android.Fabric.getKit (Fabric.java:525)
at com.crashlytics.android.Crashlytics.getInstance
(Crashlytics.java:188)
at com.crashlytics.android.Crashlytics.checkInitialized
(Crashlytics.java:371)
at com.crashlytics.android.Crashlytics.log (Crashlytics.java:230)
日志在另一个模块中调用,例如:
Crashlytics.log(Log.DEBUG, "ISA", "Some log");
主模块在主入口点初始化 Crashlytics,就在 onCreate 中,调用后super.onCreate(savedInstanceState);
:
Fabric.with(this, new Crashlytics());
该问题仅出现在某些设备上 (1/100)。知道为什么会这样吗?
解决方案
我从来没有遇到过 Fabric 的问题。在我看来,你有错误的初始化 Fabric。
Fabric 应该在Application
类中初始化:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics());
}
}
推荐阅读
- php - SQLSTATE [23000]:违反完整性限制:1062 'mail@mail.com' 'users_email_unique' 键的重复条目
- php - Alpha vantage API 不适用于 NSE,而同一查询为外国股票提供输出
- java - RefreshAheadCache 不调用 @cacheable 注释方法
- python - 如何为 Tacker 分解实现 mode-k 乘积 Python?
- smtp - SMTP 错误:DATA END 命令失败:550 5.7.1 客户端无权作为此发件人发送
- c# - 多个 RDLC 到单独页面上的单个 word 文档
- python - 在嵌套的 for 循环中过滤子数据框
- excel - 使用列中的值作为 json 请求的参数并组合表
- apache-kafka - 在 Streams 应用的所有实例中使用某个主题的所有消息
- css - 如何将 div 内的按钮与绝对位置居中对齐?