九月份精选Github项目推荐:xCrash

位流苔原
• 阅读 430

xCrash

xCrash 能为安卓 APP 提供捕获 java 崩溃,native 崩溃和 ANR 的能力。不需要 root 权限或任何系统权限。xCrash 能在 App 进程崩溃或 ANR 时,在你指定的目录中生成一个 tombstone 文件(格式与安卓系统的 tombstone 文件类似)。九月份精选Github项目推荐:xCrash

xCrash 已经在 爱奇艺 的很多安卓 APP(包括爱奇艺视频)中被使用了很多年。

特征

  • 支持 Android 4.0 - 10(API level 14 - 29)。
  • 支持 armeabi,armeabi-v7a,arm64-v8a,x86 和 x86_64。
  • 捕获 java 崩溃,native 崩溃和 ANR。
  • 获取详细的内存使用统计信息。
  • 通过正则表达式设置需要获取哪些线程的信息。
  • 不需要 root 权限或任何系统权限。

架构

九月份精选Github项目推荐:xCrash

捕获 native 崩溃

九月份精选Github项目推荐:xCrash

捕获 ANR

九月份精选Github项目推荐:xCrash

使用

1. 增加依赖九月份精选Github项目推荐:xCrash

2. 指定一个或多个你需要的 ABI。九月份精选Github项目推荐:xCrash

3. 初始化 xCrash。Java九月份精选Github项目推荐:xCrash

Kotlin九月份精选Github项目推荐:xCrash

Tombstone 文件默认将被写入到 Context#getFilesDir() + “/tombstones” 目录。(通常在: /data/data/PACKAGE_NAME/files/tombstones)在 src/java/xcrash/xcrash_sample 文件夹中,有一个更实际和复杂的示例 APP。

构建

如果你想编译 xCrash 的源码。请按以下步骤进行:1. 下载 Android NDK r16b,设置 PATH 环境变量。2. 编译和复制 native 库。九月份精选Github项目推荐:xCrash

3. 编译 AAR 库。九月份精选Github项目推荐:xCrash

更多使用方法可以查看官方文档

开源地址:

https://github.com/iqiyi/xCrash
《如何成为一位Android架构师?(架构视频+面试专题文档+学习笔记)》

点赞
收藏
评论区
推荐文章
简
4年前
彻底理解安卓应用无响应机制
引言不论从事安卓应用开发,还是安卓系统研发,应该都遇到应用无响应(ANR,ApplicationNotResponding)问题,当应用程序一段时间无法及时响应,则会弹出ANR对话框,让用户选择继续等待,还是强制关闭。绝大多数人对ANR的了解仅停留在主线程耗时或CPU繁忙会导致ANR。面试过无数的候选人,几乎没有人能真正从系统级去梳理清晰ANR的
浩浩 浩浩
4年前
Android平台的崩溃捕获
1、简述在日常开发中,崩溃日志的捕获,至关重要。有一个好的日志,有利于开发者快速定位问题并解决。对于Android平台,我们可以使用现成的产品来捕获崩溃日志,这些产品包括Bugly、Firebase、友盟等,这些产品经过多年的迭代,对于日志捕获得比较全,也有很好的兼容性。但是作为开发者,我们不能仅仅满足于使用,最好还是知道其中背后的原理。要知道原
Stella981 Stella981
3年前
Android 多渠道打包原理和使用
每次中午吃饭总会和技术同学聊天。当做iOS开发的做安卓开发的人员在一起的时候,他们中间又多了一个话题:iOS开发难还是安卓开发难。这个时候做安卓开发的同学最激动说安卓开发要自己画界面、机型复杂、操作系统多rom又被各家改的四不像....开发一个安卓APP的时间将近是开发iOS所需时间的2倍。iOS开发的同学可能就会反驳说
Stella981 Stella981
3年前
Android 8.1实现静默升级踩过的坑
最近在做Android8.1的系统自动升级app的功能,遇到不少坑,特在这里记录下来。首先,我这个自己做的安卓主板,并且安卓系统是经过root过的。如果你的系统没有root,请移步,这篇文章不适合你!先说需求,我的app会自动从服务器上下载最新版的apk安装包,然后自动安装,app监听了android.intent.action.PACKAGE
Wesley13 Wesley13
3年前
Java线程Dump分析工具
jstack用于打印出给定的java进程ID或corefile或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"Jd64",Windows的jstack使用方式只支持以下的这种方式:jstacklFpid如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java
Stella981 Stella981
3年前
Android ANR全解析&华为AGC性能管理解决ANR案例集
1、ANR介绍1.1ANR是什么ANR,全称为ApplicationNotResponding,也就是应用程序无响应。如果Android应用的界面线程处于阻塞状态的时间过长,就会触发“应用无响应”(ANR)的错误。此时系统会向用户显示一个对话框,ANR对话框会为用户提供强行退出应用的选项。!在这里插入图
Wesley13 Wesley13
3年前
04.Android崩溃Crash库之Loop拦截崩溃和ANR
目录总结01.能否利用Looper拦截崩溃02.思考几个问题分析03.App启动时自动开启Looper04.拦截主进程崩溃前沿上一篇整体介绍了crash崩溃库崩溃重启,崩溃记录记录,查看以及分享日志等功能。项目地址:https://github.com/yangchong
Stella981 Stella981
3年前
Android 上使用其他应用的功能
//安卓打开指定APP功能,appPackageName,appClassName可以在Logcat中找到      ComponentName component  new ComponentName("appPackageName","appClassName");      Intent intent  new
铁扇公主 铁扇公主
2年前
MacDroid for mac(安卓设备文件传输助手) v1.6.1中文
MacDroid一款Mac平台上的安卓传输助手,它可以帮助用户在Mac电脑和安卓设备之间传输文件和文件夹。MacDroid支持通过USB连接或局域网连接进行传输。MacDroid具有多种功能,包括文件和文件夹的双向传输、安卓设备的远程文件管理、安卓设备的存
小天 小天
1年前
鸿蒙系统与安卓系统有什么区别
自从华为推出了鸿蒙系统后,不少网友都对此非常感兴趣,不知道跟传统的安卓系统相比,鸿蒙系统和安卓系二者有什么区别?鸿蒙系统与安卓系统还是有很大的区别。安卓系统是手机两大操作系统之一,而华为董事长任正非表示,鸿蒙系统不是专门用于手机的操作系统,而是为了做物联网
京东云开发者 京东云开发者
11个月前
动态化-鸿蒙跨端方案介绍
一、背景👉华为在2023.9.25官方发布会上宣布,新的鸿蒙系统将不再兼容安卓应用,这意味着,包括京东金融APP在内的所有安卓应用,在新的鸿蒙系统上将无法运行,需要重新开发专门适用于新鸿蒙系统的专版APP。二、原生适配方案原生适配方案就是将京东金融APP