首页 > 解决方案 > 应用 dexguard 后 onClick() 不起作用。有没有办法解决这个问题?

问题描述

dexguard用来保护我的应用程序。最近我将dexgaurd版本从8.0.1更新到8.2.15。早些时候,在更新之前一切正常。但是对于8.2.15版本,当我应用dexguard时,onCick 方法在片段SettingsFragment之一中不起作用,对于所有其他片段它都可以正常工作。然而,实现onClick()的代码和方法对于所有Fragments都是相同的。但是对于SettingsFragment它不起作用。请帮忙。

这是我onClickSettingsFragment中的方法

View.OnClickListener onClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            switch (view.getId()) {
                case R.id.relSignOut:
                    mCallback.doSignOut();
                    break;
//                case R.id.relEditProfile:
//                    loadManageProfile();
//                    break;
                case R.id.btn_edit_profile:
                    loadManageProfile();
                    break;
                case R.id.relDynamicFxRate:
                    parent.startSetExchangeAlertActivity();
                    break;
            }
        }
    };

提前致谢

标签: androiddexguard

解决方案


onClick您应该排除对这样的方法的混淆:

-keepclassmembers class * {
    public void onClick (android.view.View);
}

推荐阅读