前言

所在公司的项目中有一款应用应客户要求,需要接入 Firebase Crashlytics,在此提前练手,也做个总结。本文以最新的 Gradle 7.5 为例,如果 Gradle 版本比较低,添加依赖那一章节可参考官方文档。

1. 登录 Firebase 控制台,创建项目及应用

  • 输入项目名称,点击继续

  • 勾选 Google Analytics,点击继续

  • 选择默认的 Google Analytics 账号,点击创建项目

  • 等待创建完成

2. 在控制台添加 Android 应用

  • 点击跳转页面的安卓机器人,跳转添加应用界面

  • 输入要接入的应用包名和应用别名,点击注册应用按钮

  • 点击下载配置文件按钮,并将其添加到项目的模块级别目录

    类似如下这样:

3. 打开项目,在 IDE 中添加依赖

  • 定位到项目级别目录,在build.gradle中添加如下两行:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
// .... some others plugins
id 'com.google.gms.google-services' version '4.3.15' apply false
id 'com.google.firebase.crashlytics' version '2.9.2' apply false
}
  • 定位到模块级别目录,在build.gradle中添加如下几行:
plugins {
// .... some others plugins
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
} // .... some others closure dependencies {
// .... some others dependencies
implementation platform('com.google.firebase:firebase-bom:31.2.2')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-crashlytics'
}

4. 构造 Crash 代码,验证功能

  • 在应用的 Activity 中添加如下点击事件:
public class MainActivity extends AppCompatActivity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); Button btn = findViewById(R.id.btn);
btn.setOnClickListener(view -> {
throw new RuntimeException("Test Crash");
});
}
}
  • 在 Activity 对应的布局文件中添加按钮
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"> <Button
android:text="test crash"
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/> </LinearLayout>
  • 在 AndroidMenifest.xml 添加联网权限
    <uses-permission android:name="android.permission.INTERNET" />
  • 打包安装

最后点击按钮触发 Crash。多触发几次,即可在 Firebase 控制台看到报告分析。

Android 应用接入 Firebase Crashlytics 进行崩溃分析上报的更多相关文章

  1. iOS 崩溃分析

    崩溃统计分析,在APP中是非常常见一种优化APP,发现APP的BUG的方式. 1.异常处理 可通过try catch 方式处理,如果发生异常,会走catch ,最终走fianlly.对一些我们不想他崩 ...

  2. android ListView 九大重要属性详细分析、

    android ListView 九大重要属性详细分析. 1.android ListView 一些重要属性详解,兄弟朋友可以参考一下. 首先是stackFromBottom属性,这只该属性之后你做好 ...

  3. Android Small插件化框架源码分析

    Android Small插件化框架源码分析 目录 概述 Small如何使用 插件加载流程 待改进的地方 一.概述 Small是一个写得非常简洁的插件化框架,工程源码位置:https://github ...

  4. 【转】详解使用tcpdump、wireshark对Android应用程序进行抓包并分析

    原文网址:http://blog.csdn.net/gebitan505/article/details/19044857 本文主要介绍如何使用tcpdump和wireshark对Android应用程 ...

  5. Android 中View的绘制机制源代码分析 三

    到眼下为止,measure过程已经解说完了,今天開始我们就来学习layout过程.只是在学习layout过程之前.大家有没有发现我换了编辑器,哈哈.最终下定决心从Html编辑器切换为markdown编 ...

  6. Android&iOS崩溃堆栈上报

    Android&iOS崩溃堆栈上报 原文地址:http://www.cnblogs.com/songcf/p/4885468.html 通过崩溃捕获和收集,可以收集到已发布应用(游戏)的异常, ...

  7. Android 支付宝接入时常见的问题

    1.概述 首先说明下,Android支付宝接入用的是快捷支付,下载地址是https://b.alipay.com/order/techService.htm    支付宝移动接入地址https://b ...

  8. Android服务之PackageManagerService启动源码分析

    了解了Android系统的启动过程的读者应该知道,Android的所有Java服务都是通过SystemServer进程启动的,并且驻留在SystemServer进程中.SystemServer进程在启 ...

  9. Android发展的一个重要方面Makefile分析

    Android发展的一个重要方面Makefile分析 随着移动互联网的发展,移动开发也越来越吃香了.眼下最火的莫过于android.android是什么就不用说了,android自从开源以来,就受到非 ...

  10. Android中相机和相冊使用分析

    Android中相机和相冊使用分析 欢迎转载,但请尊重原创(文章来自不易,转载请标明转载出处,谢谢) 在手机应用程序中,使用自带的相机拍照以及相冊选择喜欢的图片是最常见只是的用户需求,那么怎么合理使用 ...

随机推荐

  1. 2021-7-6 new tcpip

    using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...

  2. Angular: Error: NG0100: ExpressionChangedAfterItHasBeenChecked

    错误原因 当变更检测完成后又更改了表达式的值时,Angular就会抛出ExpressionChangedAfterItHasBeenCheckedError 错误,Angular只会在开发模式下抛出此 ...

  3. PyQt5调用主窗口

    import sysfrom ui.MainWindow import Ui_Form from PyQt5.QtWidgets import QApplication, QMainWindowcla ...

  4. idea 2021新窗口打开工程

    描述 Mac M1,IDEA 2017 有部分兼容性问题,遂对IDEA进行升级 idea 升级2021(IntelliJ IDEA 2021.3 (Community Edition)) 打开新工程, ...

  5. docker-run-failed

    Phenomenon overlay2 not such file or directory. overlay2 not such file or directory. network not suc ...

  6. 一种flink 作业提交失败的情况描述与原因排查

    遇到异常 2019-12-24 16:49:59,019 INFO org.apache.flink.yarn.YarnClusterClient - Starting client actor sy ...

  7. quarkus依赖注入之十二:禁用类级别拦截器

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<quarkus依赖注入> ...

  8. MATLAB入门小操作(数据类型)

    这是一篇有助于快速上手MATLAB软件的文章(新手向).(学习过其他的语言更容易看懂) 数据类型 这篇文章我想从MATLAB中的数据类型出发去列举一些经常使用的操作.MATLAB中的数据类型包括其他语 ...

  9. iOS越狱后必装软件

    iOS越狱后就跟ubuntu没两样了,很多ubuntu下常用的软件都要装一下 openssh 这个软件可以让我们能够登录iphone Apt-get 用这个软件可以安装很多软件,主要是一些工具调试类软 ...

  10. Java 多线程线程池的工作流程

    1.在创建了线程池后,等待提交过来的任务请求. 2.当调用execute()方法添加一个请求任务时,线程池就会做如下判断: 2.1 如果正在运行的线程数量小于corePoolSize,那么马上创建线程 ...