混淆时报 'int java.lang.String.hashCode()' on a null object reference

雕·不懒惰 2021-03-29 04:03:30
private void processAction(Data data) {
switch (data.getAction_name()) { <-------这里170行报错 data.getAction_name()返回string
case "app_install":
downloadFile(data, new ActionResult());
break;
case "app_uninstall":
unInstallApp(data, new ActionResult());
break;
case "app_run":
startApp(data, new ActionResult());
break;
case "app_stop":
stopApp(data, new ActionResult());
break;

打包不添加混淆是正常的,混淆打包就报错
FATAL EXCEPTION: main
Process: cn.mdisplay.anboard, PID: 1371
java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.hashCode()' on a null object reference
at cn.mdisplay.anboard.main.SmtService.a(SmtService.java:170)
...全文
1195 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
不会写代码的猴子 版主 2021-03-30
  • 打赏
  • 举报
回复
实体类,Data,不能混淆
雕·不懒惰 2021-03-30
  • 打赏
  • 举报
回复
引用 1 楼 立青_ 的回复:
估计用到了反射,用到了反射的肯定要加混淆白名单。data.getAction_name()得到的是null,getAction_name()里面是怎么写的?

public class Data {
    /**
     * action_name : app_install
     * options : {"apk_md5":"c9f0f895fb98ab9159f51fd0297e236d","apk_url":"http://"}
     * task_id : d34cc853-1130-4d01-8031-ad689cbe2b87
     */

    private String action_name;
    private OptionsBean options;
    private String task_id;
就是gsonformat转换的bean,set get,没其他的
立青_ 中级 2021-03-29
  • 打赏
  • 举报
回复
估计用到了反射,用到了反射的肯定要加混淆白名单。data.getAction_name()得到的是null,getAction_name()里面是怎么写的?

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧