Android之xCrash介紹

image.png

xCrash

xCrash是愛奇藝開源的在android平臺上面捕獲異常的開源庫。

xCrash能為安卓 APP提供捕獲Java崩潰異常,native崩潰異常和ANR異常。

xCrash 能在 App 進程崩潰或 ANR 時,在你指定的目錄中生成一個 tombstone 文件(格式與安卓系統(tǒng)的 tombstone 文件類似)。

xCrash項目地址:
github:https://github.com/iqiyi/xCrash
gitee:https://gitee.com/caikelun/xCrash

架構(gòu)

image.png

捕獲native崩潰

image.png

捕獲 ANR

image.png

使用

添加依賴:

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

需要捕獲native異常,或者android的api版本大于21。需要添加以下配置,用于捕獲異常:

android {
    defaultConfig {
        ndk {
            // 根據(jù)需要添加必要的ABI
            abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        }
    }
}

初始化xCrash:

public class MyCustomApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        //  默認初始化
        XCrash.init(this);
    }
}

Tombstone 文件默認將被寫入到 Context#getFilesDir() + “/tombstones” 目錄。(通常在: /data/data/PACKAGE_NAME/files/tombstones)。

xCrash提供兩個接口用于APP應(yīng)用初始化xCrash:

    public static int init(Context ctx) {
        return init(ctx, null);
    }

public static synchronized int init(Context ctx, InitParameters params){
    ...
}

接口都需要傳入context用于xCrash獲取APP應(yīng)用進程的信息,不同的是接口1,不傳入自定義配置,采用的是xCrash的默認配置,接口2可以根據(jù)APP應(yīng)用的需要自定義配置。


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容