欢迎 star,issue,PR ~~~
xCrash 是一个安卓 APP 的崩溃捕获库。它支持捕获 native 崩溃和 Java 异常。
xCrash 能在 App 进程崩溃时,在你指定的目录中生成一个 tombstone 文件(格式与安卓系统的 tombstone 文件类似)。并且,不需要 root 权限或任何系统权限。
xCrash 已经在 爱奇艺 的很多安卓 APP (包括爱奇艺视频)中被使用了很多年。
dependencies { implementation 'com.iqiyi.xcrash:xcrash-android-lib:2.0.5' }
android { defaultConfig { ndk { abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64' } } }
-keep class xcrash.NativeCrashHandler { native <methods>; void callback(...); }
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。
cd ./src/native/ ./build.sh ./install.sh
cd ./src/java/xcrash/ ./gradlew :xcrash_lib:build
请阅读 xCrash Contributing Guide。
xCrash 使用 MIT 许可证。
xCrash 的文档使用 Creative Commons 许可证。