From 01af692e5db017516082e104c5590cc2e70ef534 Mon Sep 17 00:00:00 2001 From: HaleyDu <924323178@qq.com> Date: Sun, 25 Apr 2021 09:31:46 +0800 Subject: [PATCH] add XCrash Signed-off-by: HaleyDu <924323178@qq.com> --- app/build.gradle | 2 ++ app/src/main/java/com/hiroshi/cimoc/App.java | 19 ++++++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/app/build.gradle b/app/build.gradle index f55b05c7..bc7e331c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -151,6 +151,8 @@ dependencies { implementation 'com.google.firebase:firebase-ads:19.5.0' implementation 'com.king.app:app-updater:1.0.8-androidx' implementation 'com.king.app:app-dialog:1.0.8-androidx' + implementation 'com.iqiyi.xcrash:xcrash-android-lib:3.0.0' + } repositories { mavenCentral() diff --git a/app/src/main/java/com/hiroshi/cimoc/App.java b/app/src/main/java/com/hiroshi/cimoc/App.java index 8fd2b7e5..5df8aa8f 100644 --- a/app/src/main/java/com/hiroshi/cimoc/App.java +++ b/app/src/main/java/com/hiroshi/cimoc/App.java @@ -6,8 +6,11 @@ import android.net.wifi.WifiManager; import android.os.Build; import android.os.Bundle; + import androidx.multidex.MultiDex; import androidx.recyclerview.widget.RecyclerView; + +import android.os.Environment; import android.util.DisplayMetrics; import android.view.WindowManager; @@ -41,6 +44,8 @@ import javax.net.ssl.X509TrustManager; import okhttp3.OkHttpClient; +import xcrash.XCrash; + import androidx.multidex.MultiDexApplication; /** @@ -71,10 +76,12 @@ public class App extends MultiDexApplication implements AppGetter, Thread.Uncaug // 默认Github源 private static String UPDATE_CURRENT_URL = "https://api.github.com/repos/Haleydu/Cimoc/releases/latest"; + private static final String CRASH_FILE_PATH = "/Cimoc/Log/crash"; @Override public void onCreate() { super.onCreate(); + initXCrash(); Thread.setDefaultUncaughtExceptionHandler(this); mActivityLifecycle = new ActivityLifecycle(); registerActivityLifecycleCallbacks(mActivityLifecycle); @@ -291,5 +298,15 @@ private static SSLSocketFactory createSSLSocketFactory() { return ssfFactory; } - + private void initXCrash(){ + //异常捕捉框架,xcrash的native捕捉会导致系统死机,将之去掉不使用20200817 + XCrash.InitParameters initParameters = new XCrash.InitParameters(); + //不处理native层的崩溃异常 + initParameters.setLogDir(Environment.getExternalStorageDirectory().getAbsolutePath()+CRASH_FILE_PATH); + initParameters.disableNativeCrashHandler(); + //java崩溃异常文件的最大数量 + initParameters.setJavaLogCountMax(200); + initParameters.setJavaDumpAllThreadsCountMax(25); + XCrash.init(this, initParameters); + } }