ProGuard 和 UncaughtExceptionHandler

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

我尝试将 ProGuard 与我自己的 UncaughtExceptionHandler 类一起使用。没有 ProGuard 一切正常。但如果我启用它,函数 uncaughtException 将永远不会被调用。

public class MyBug implements UncaughtExceptionHandler
{
    private UncaughtExceptionHandler defaultUEH;

    public ASBug() {
        alert("init");
        defaultUEH = Thread.getDefaultUncaughtExceptionHandler();
    }

    public void addHandlerToThread(Thread t) {
        alert("set");
        t.setUncaughtExceptionHandler(this);
    }

    @Override
    public void uncaughtException(Thread t, Throwable e)
    {
        alert("catch");
    }


    static void alert(final String message) {

        ***.context().runOnUiThread(new Runnable() {
            @Override
            public void run() {
                AlertDialog.Builder bld = new  AlertDialog.Builder(***.context());
                bld.setMessage(message);
                bld.setNeutralButton("OK", null);
                bld.create().show();
            }
        });
    }
}

proguard-rules.txt

-keepclasseswithmembers public class com.asgardsoft.core.ASBug
java android proguard android-proguard
1个回答
0
投票

明确要求 proguard 保留课程

-keepclass your.package.name.UncaughtExceptionHandler
© www.soinside.com 2019 - 2024. All rights reserved.