如何在 Android Java 中全局捕获崩溃日志? [重复]

问题描述 投票:0回答:1

我在我的应用程序中创建了多个 Activity 和 Fragments 以及不同的线程。有时很难预测应用程序崩溃。 有什么可以帮助我在 Main Activity 或 Manifest 级别全局捕获所有崩溃吗?

尝试在所有 Activity 中放置 try catches,以便捕获其子 Fragment 中发生的任何崩溃。但不幸的是它没有发生。

java android crash
1个回答
0
投票

您可以在应用程序级别注册崩溃处理程序 我建议在您的应用程序类中使用此代码

public class CrashHandler implements Thread.UncaughtExceptionHandler {

    public static final String TAG = CrashHandler.class.getSimpleName();
    private static CrashHandler instance = new CrashHandler();
    private Context mContext;

    private CrashHandler() {
    }

    public static CrashHandler getInstance() {
        return instance;
    }

    public void init(Context context) {
        mContext = context;
        Thread.setDefaultUncaughtExceptionHandler(instance);
    }

    @Override
    public void uncaughtException(Thread t, Throwable e) {
        //crash info and exceptions here
    }
}

在你的应用程序类中

public App  extends Application{

     @Override
    public void onCreate() {
        super.onCreate();
        CrashHandler.getInstance().init(this);
    }
   
}

最后一步,在您的 android 清单文件中注册您的所有者自定义应用程序类

© www.soinside.com 2019 - 2024. All rights reserved.