Need help with xCrash?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

hexhacking
165 Stars 14 Forks Other 114 Commits 1 Opened issues

Description

🔥 xCrash provides the Android app with the ability to capture java crash, native crash and ANR. No root permission or any system permissions are required.

Services available

!
?

Need anything else?

Contributors list

xCrash Logo

HexHacking xCrash

HexHacking xCrash is a branch version of xCrash, and its version number starts from 3.0.0. Whether in terms of architecture or technical details, HexHacking xCrash will be more radical.

xCrash provides the Android app with the ability to capture java crash, native crash and ANR. No root permission or any system permissions are required.

intro

xCrash can generate a tombstone file (similar format as Android system's tombstone file) in the directory you specified when the app process crashes or ANRs.

README 中文版

Features

  • Support Android 4.1 - 11 (API level 16 - 30).
  • Support armeabi-v7a, arm64-v8a, x86 and x86_64.
  • Capturing java crash, native crash and ANR.
  • Dumping detailed statistics about process, threads, memory, FD and network.
  • Setting which thread's info should be dumped via regular expressions.
  • Do not require root permission or any system permissions.

Tombstone File Previews

Overview Maps

Architecture

architecture

Capture Native Crash

capture native crash

Capture ANR

capture anr

Usage

1. Add dependency.

dependencies {
    implementation 'io.hexhacking.xcrash:xcrash-android-lib:3.0.0'
}

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

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

3. Initialize 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 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 xcrash_sample folder.

Official Repositories

  • GitHub : https://github.com/hexhacking/xCrash
  • GitLab : https://gitlab.com/hexhacking/xCrash
  • Gitee : https://gitee.com/hexhacking/xCrash

Support

  1. Check the xcrash-sample.
  2. Communicate on GitHub issues.
  3. Email: [email protected]
  4. QQ group: 603635869.

Contributing

xCrash Contributing Guide.

License

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

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.