Customize Error Message for Android
How to catch Uncaught Exception.
CustomizeError Message@magie_poohshibuya.apk #16
View Slide
ࣗݾհ౻ాୖຏ@magie_pooh@magiepooh
Crash Reporting Tool• Crashlytics• Firebase Crash Reporting• Play Console
͜͜ΛΧελϚΠζ͍ͨ͠
ফ͍ͨ͠
private static Thread.UncaughtExceptionHandler defaultUEH; private static Thread.UncaughtExceptionHandler caughtExceptionHandler= new Thread.UncaughtExceptionHandler() { @TargetApi(Build.VERSION_CODES.KITKAT) @Override public void uncaughtException(Thread thread, Throwablethrowable) { // do somethingdefaultUEH.uncaughtException(thread, throwable); } };@Override public void onCreate() { super.onCreate(); Fabric.with(this, new Crashlytics()); defaultUEH = Thread.getDefaultUncaughtExceptionHandler(); Thread.setDefaultUncaughtExceptionHandler(caughtExceptionHandler); }ApplicationΫϥε
Field field = Throwable.class.getDeclaredField("detailMessage"); field.setAccessible(true); field.set(throwable, "");ExceptionͷϝοηʔδΛͻͨ͢Βফ͢
ফ͑ͨʂʂʂ
CrashlyticsͷΈ• Fabric.with(this, new Crashlytics());
CrashlyticsͷΈ• Fabric.with(this, new Crashlytics());• CrashlyticsCore#onPreExecute()ͰCrashlyticsControllerΛੜ
CrashlyticsͷΈ• Fabric.with(this, new Crashlytics());• CrashlyticsCore#onPreExecute()ͰCrashlyticsControllerΛੜ• CrashlyticsControllerΫϥεͰCrashlyticsUncaughtExceptionHandlerΛੜ
·ͱΊ• UncaughtExceptionHandlerΛ͑ΧελϚΠζͰ͖Δ• ଞͷCrash Reporting ToolະௐࠪͳͷͰɺͲͳ͔ͨڭ͍͑ͯͩ͘͞• Firebase Crash ReportingͰݸਓใʹؔΘΔ෦ʮREDACTED_PERSONAL_IDENTIFICATION_NUMBERʯʹͳΔΒ͍͠ɻ୭͔ڭ͍͑ͯͩ͘͞