Skip to content
πŸ”₯πŸ”₯ A crash reporting library for Android APP. Support catching native crash and Java exception.
Branch: master
Clone or download
caikelun [feature] Add file size in build-id section.
[feature] Add the ELF info pointed by fault address to build-id section.
[improve] Update version for
[version] 2.2.0.
Latest commit 5493135 Jul 11, 2019


xCrash is a crash reporting library for Android APP. It supports catching native crash and Java exception.

xCrash can generate a tombstone file (similar format as Android system's tombstone file) in the directory you specified when the APP process crashes. And, no root permission or any system permissions are required.


xCrash is used in a variety of Android APPs (including iQIYI Video) from iQIYI for many years.

README δΈ­ζ–‡η‰ˆ


  • Support Android 4.0 - 10 (API level 14 - 29).
  • Support armeabi, armeabi-v7a, arm64-v8a, x86 and x86_64.
  • Catching native crash and Java exception.
  • Setting which thread's info should be dumped via regular expressions.
  • Dumping detailed memory usage statistics.
  • Do not require root permission or any system permissions.

Overview Maps


catching native crash

Catching Native Crash

catching native crash


1. Add dependency.

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

2. Specify one or more ABI(s) you need.

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

3. Initialize xCrash.


public class MyCustomApplication extends Application {

    protected void attachBaseContext(Context base) {


class MyCustomApplication : Application() {

    override fun attachBaseContext(base: Context) {


Tombstone files will be written to Context#getFilesDir() + "/tombstones" directory by default. (usually in: /data/data/PACKAGE_NAME/files/tombstones)

There is a more practical and complex sample APP in the src/java/xcrash/xcrash_sample folder.


If you want to build xCrash from source code. Follow this guide:

1. Download Android NDK r16b, set PATH environment.

2. Build and copy the native libraries.

cd ./src/native/

3. Build AAR library.

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


  1. Check the xcrash-sample.
  2. Communicate on GitHub issues.
  3. Email:
  4. WeChat: alan_choi
  5. QQ group: 603635869. QR code:

qq group


See xCrash Contributing Guide.


xCrash is MIT licensed, as found in the LICENSE file.

xCrash documentation is Creative Commons licensed, as found in the LICENSE-docs file.

You can’t perform that action at this time.