xCrash
xCrash 能为安卓 APP 提供捕获 java 崩溃,native 崩溃和 ANR 的能力。不需要 root 权限或任何系统权限。
xCrash 能在 App 进程崩溃或 ANR 时,在你指定的目录中生成一个 tombstone 文件(格式与安卓系统的 tombstone 文件类似)。
xCrash 已经在 爱奇艺 的很多安卓 APP(包括爱奇艺视频)中被使用了很多年。
特征
- 支持 Android 4.0 - 10(API level 14 - 29)。
- 支持 armeabi,armeabi-v7a,arm64-v8a,x86 和 x86_64。
- 捕获 java 崩溃,native 崩溃和 ANR。
- 获取详细的内存使用统计信息。
- 通过正则表达式设置需要获取哪些线程的信息。
- 不需要 root 权限或任何系统权限。
架构
捕获 native 崩溃
捕获 ANR
使用
1. 增加依赖。
dependencies { implementation 'com.iqiyi.xcrash:xcrash-android-lib:2.4.0'}
2. 指定一个或多个你需要的 ABI。
android { defaultConfig { ndk { abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } }}
3. 初始化 xCrash。
Java
public class MyCustomApplication extends Application { @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); xcrash.XCrash.init(this); }}
Kotlin
class MyCustomApplication : Application() { override fun attachBaseContext(base: Context) { super.attachBaseContext(base) xcrash.XCrash.init(this) }}
Tombstone 文件默认将被写入到 Context#getFilesDir() + "/tombstones" 目录。(通常在: /data/data/PACKAGE_NAME/files/tombstones)
在 src/java/xcrash/xcrash_sample 文件夹中,有一个更实际和复杂的示例 APP。
构建
如果你想编译 xCrash 的源码。请按以下步骤进行:
1. 下载 Android NDK r16b,设置 PATH 环境变量。
2. 编译和复制 native 库。
cd ./src/native/./build.sh./install.sh
3. 编译 AAR 库。
cd ./src/java/xcrash/./gradlew :xcrash_lib:build
更多使用方法可以查看官方文档
开源地址:
由于头条审核网址比较严,防止他们误会是推广,所以大家可以自行搜索下载
也可以关注我的头条号后给我发送 `xCrash`,会自动把下载地址发送给你(做了关键字自动回复)
您知道哪些好用的小工具,欢迎评论分享,共同探讨学习
更多更优质的资讯,请关注我,你的支持会鼓励我不断分享更多更好的优质文章。