android - 如何在Android中登录而不会崩溃?
问题描述
我已经集成了用于崩溃捕获的 Fabric。但在特殊情况下,我只需要记录有关织物的一些详细信息。但是我没有找到任何方法来添加日志而不会崩溃。每次我需要崩溃应用程序才能查看日志。
Crashlytics.log(subStr);
Crashlytics.logException(new RuntimeException("Exception"));
如果我只是添加日志,我没有在 Fabric 上看到日志。我需要明确抛出异常。
我正在寻找一种可以记录详细信息的方法?我不想要崩溃日志。
解决方案
Fabric crashlytics 不会捕获“非异常”。
只有在调用异常时,它才会出现在您的控制台中,无论是致命的还是非致命的。
如果你想记录事件,任何你想要的事件,你可以使用Answers。
要使用 Answers,您首先必须像这样实现它:
在您的应用级别 gradle 中:
implementation('com.crashlytics.sdk.android:answers:1.4.7@aar') {
transitive = true;
}
在您的清单中(我假设这已经存在,因为您已经在使用 Crashlytics):
<meta-data
android:name="io.fabric.ApiKey"
android:value="3323d86155070b69e4558c773e7bdb6dc495cd9f"
/>
然后在您的 MainActivity 或 Application 类中,您应该初始化 Answers,如下所示:
Fabric.with(this, new Answers());
每当您想记录某些内容时,都可以像以下示例一样调用它:
Answers.getInstance().logCustom(new CustomEvent("Video Played")
.putCustomAttribute("Category", "Comedy")
.putCustomAttribute("Length", 350));
然后日志将显示在您的 Fabrics 控制台中。
同样重要的是要注意,由于Fabric 即将关闭,您很快将不得不迁移到 Google Crashlytics 。
推荐阅读
- c# - 加入多个列表并以逗号分隔的字符串形式获取输出
- c# - 如何访问二维数组以输入学生的成绩?C#
- python - 从 .txt 文件 (python) 添加具有不同值的相同变量
- python-3.x - 如何从 python 中的导入模块更改不可变对象?
- reactjs - 如何在 React 中测试上下文?
- tcp - 即使发送和接收 TCP 段,是否可以不设置同步控制位?为什么?请举例
- consul - 使用脚本的领事健康检查未验证
- reactjs - 未选中复选框时,React-Final-Form 不会重新运行验证
- javascript - 在 Javascript 中从数组中搜索和检索匹配数据
- firebase - 如何在 REST API 中获取 firebase oobcode