1 Star 0 Fork 2

开发团队 / xCrash

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

xCrash

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

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

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

README English Version

特征

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

捕获 native 崩溃

catching native crash

使用

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 r16b,设置 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 许可证

空文件

简介

一个 Android APP 的崩溃捕获库。支持捕获 native 崩溃和 Java 异常。支持 Android 4.0 - 9.0 (API level 14 - 28)。支持 armeabi,armeabi-v7a,arm64-v8a,x86 和 x86_64。 展开 收起
C
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/OAGroup/xCrash.git
git@gitee.com:OAGroup/xCrash.git
OAGroup
xCrash
xCrash
master

搜索帮助