当前位置: 首页 > article >正文

Android之Sentry接入

前沿

在Android应用中接入Sentry可以帮助你捕获和监控应用中的错误和异常。Sentry 是一个开源的错误跟踪工具,支持多种平台,包括 Android。特别是能够私有化部署。

1.创建项目

在这里插入图片描述

2.AndroidManifest.xml 配置

<!-- Required: set your sentry.io project identifier (DSN) -->
        <meta-data android:name="io.sentry.dsn" android:value="https://062854xxxxxx@sentry.xxxx.com/12" />
        <!-- enable automatic breadcrumbs for user interactions (clicks, swipes, scrolls) -->
        <meta-data android:name="io.sentry.traces.user-interaction.enable" android:value="true" />
        <!-- enable screenshot for crashes -->
        <meta-data android:name="io.sentry.attach-screenshot" android:value="true" />
        <!-- enable view hierarchy for crashes -->
        <meta-data android:name="io.sentry.attach-view-hierarchy" android:value="true" />

        <!-- enable the performance API by setting a sample-rate, adjust in production env -->
        <meta-data android:name="io.sentry.traces.sample-rate" android:value="1.0" />

以上是sentry集成的官方指引内容。
另外我的还配置了:

<meta-data android:name="io.sentry.auto-init" android:value="true" />
        <meta-data
            android:name="io.sentry.environment"
            android:value="${SENTRY_ENVIRONMENT}" />

因为我的 App 不需要上架,所以配置了自动初始化。
另外还配置了 environment,方便区分不同渠道或环境。

至于 DNS 查看的路径是:
在这里插入图片描述
在这里插入图片描述
不过,首次集成会有集成指南,直接复制里面的内容即可。

3.build.gradle 配置

3.1 builTypes 配置

buildTypes {
        getByName("debug") {
            manifestPlaceholders["SENTRY_ENVIRONMENT"] = "debug"
        }

        getByName("release") {
            manifestPlaceholders["SENTRY_ENVIRONMENT"] = "release"
        }
    }

3.2 sentry 配置

sentry {
    org = "sentry"
    projectName = "awareness"
    authToken = "sntrys_eyJpYXQiOjExxxx"
    autoUploadProguardMapping = true
}

org 名称:
在这里插入图片描述
org: 就是这个sentry,build.gradle.kts中sentry配置用到的org。

authToken 路径:
如果没有的话,需要新建。
在这里插入图片描述
在这里插入图片描述
projectName 就是创建的项目名称

autoUploadProguardMapping 解决是否需要自动上传打release包时生成的mapping.txt,也就是崩溃时,日志中的混淆后的代码能够正常显示。
上传成功可用查看:
在这里插入图片描述
可用看到上传的内容。
当然设置为 false后,查看崩溃日志时,就无法准确定位出错的代码位置了。
当然如果你的代码没有混淆的话,也是不用开启这个功能的。

4.参数配置

4.1 导入

libs.versions.toml

[versions]
sentryAndroid = "7.22.0"
[libraries]
sentry-android = { module = "io.sentry:sentry-android", version.ref = "sentryAndroid" }
implementation(libs.sentry.android)

http://www.kler.cn/a/589247.html

相关文章:

  • 在 Windows 11 上使用 PyCharm 创建一个 Flask 项目,并使用 `pipenv` 进行虚拟环境管理
  • HarmonyOS NEXT 声明式UI语法学习笔记-创建自定义组件
  • 麒麟服务器操作系统QT系列软件工具手册
  • AD9850函数信号发生器制作(全套资料)
  • RK3568 android11 基于PN7160的NXP NFC移植
  • ASP.NET Webform和ASP.NET MVC 后台开发 大概80%常用技术
  • 操作系统的磁盘调度
  • 鸿蒙Next开发中的坑与问题总结
  • 五大基础算法——枚举算法
  • 从被动响应到主动预见:智能可观测性技术的变革与实践
  • Qt常见面试题合集
  • ⚡️Jolt -- 通过JSON配置来处理复杂数据转换的工具
  • Spring cloud Gateway中的GlobalFilter接口及其方法
  • Spring Boot 核心知识点精讲:助你快速上手与深度理解
  • Linux下部署前后端分离项目 —— Linux下安装nginx
  • oracle实例
  • ai智能语音机器人对我们生活有什么影响
  • Designing Dashboards with SAP Analytics Cloud
  • RNN 实战指南:用 PyTorch 从零实现文本分类
  • 【从零开始学习计算机科学】编译原理(一)编译过程概述