首页
社区
课程
招聘
[推荐] 爱奇艺视频 APP 使用的 Android native crash + Java exception 捕获方案在 GitHub 开源了
2019-4-11 13:28 4651

[推荐] 爱奇艺视频 APP 使用的 Android native crash + Java exception 捕获方案在 GitHub 开源了

2019-4-11 13:28
4651

GitHub 地址:

https://github.com/iqiyi/xCrash
欢迎 star,issue,PR ~~~

xCrash





 

xCrash 是一个安卓 APP 的崩溃捕获库。它支持捕获 native 崩溃和 Java 异常。

 

xCrash 能在 App 进程崩溃时,在你指定的目录中生成一个 tombstone 文件(格式与安卓系统的 tombstone 文件类似)。并且,不需要 root 权限或任何系统权限。

 

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

特征

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

捕获 native 崩溃

使用

1. 增加依赖。

dependencies {
    implementation 'com.iqiyi.xcrash:xcrash-android-lib:2.0.5'
}

2. 指定你需要的 ABI(s)。

android {
    defaultConfig {
        ndk {
            abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        }
    }
}

3. 增加 ProGuard 规则。

-keep class xcrash.NativeCrashHandler {
    native <methods>;
    void callback(...);
}

4. 在 Application#attachBaseContext() 中初始化 xCrash。

public class MyCustomApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);

        xcrash.XCrash.init(this);
    }
}

Tombstone 文件默认将被写入到 Context#getFilesDir() + "/tombstones" 目录。(通常在: /data/data/<APP_PACKAGE_NAME>/files/tombstones

 

src/java/xcrash/xcrash_sample 文件夹中,有一个更实际和复杂的示例 APP。

构建

1. 下载 Android NDK r16

下载 Android NDK r16,设置 PATH 环境变量。

2. 编译和安装 native 库。

cd ./src/native/
./build.sh
./install.sh

3. 编译 AAR 库。

cd ./src/java/xcrash/
./gradlew :xcrash_lib:build

贡献

请阅读 xCrash Contributing Guide

许可证

xCrash 使用 MIT 许可证

 

xCrash 的文档使用 Creative Commons 许可证


[培训]《安卓高级研修班(网课)》月薪三万计划

收藏
点赞2
打赏
分享
最新回复 (3)
雪    币: 348
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
Wika 2019-4-11 14:15
2
0
wowww stared
雪    币: 32
活跃值: (1020)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
twsxtd 2019-4-12 10:34
3
0
感谢开源!
雪    币: 48
活跃值: (670)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
nomagic 2019-4-20 12:27
4
0
这个是爱奇艺视频app一直在用的,一直在更新和维护,确认内部使用的和github开源的是完全相同的。
游客
登录 | 注册 方可回帖
返回