Android超出方法数量限制问题

以前Java基础的时候,写JavaBean类都是有快捷键自动生成的,我们只需要定义好成员变量字段,剩下的构造方法、getXxx()方法,setXxx()方法,都可以自动生成。格式如下:

public class TrackOrderBean {

    private boolean success;
    private String  driverId;
    private String  licensePlat;
    private String  dispatchOrderId;
    private int     interval;
    private List<?> errors;

    public boolean isSuccess() {
        return success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    public String getDriverId() {
        return driverId;
    }

    public void setDriverId(String driverId) {
        this.driverId = driverId;
    }

    public String getLicensePlat() {
        return licensePlat;
    }

    public void setLicensePlat(String licensePlat) {
        this.licensePlat = licensePlat;
    }

    public String getDispatchOrderId() {
        return dispatchOrderId;
    }

    public void setDispatchOrderId(String dispatchOrderId) {
        this.dispatchOrderId = dispatchOrderId;
    }

    public int getInterval() {
        return interval;
    }

    public void setInterval(int interval) {
        this.interval = interval;
    }

    public List<?> getErrors() {
        return errors;
    }

    public void setErrors(List<?> errors) {
        this.errors = errors;
    }
}

但是在Android里面,我们可能会看到一些老程序员会这样写JavaBean类:

public class TrackOrderBean {

    public boolean success;
    public String  driverId;
    public String  licensePlat;
    public String  dispatchOrderId;
    public int     interval;
    public List<?> errors;

}

因为成员变量声明是public,我们可以直接引用它,不需要getXxx()和setXxx()方法。这样做是为了避免方法数量超过限制的问题。因为Android中的方法数量不能超过65535,如果超过了,你可能会遇到一些意想不到的Bug。比如,我就遇到了Build APK失败的问题。

  • 先选择Build APK
    图片.png

  • 然后Android Studio就会报错
    图片.png

最开始,我以为是代码里有错误所以导致这个问题,但是检查了代码没有发现Bug。之后我又怀疑可能是清单文件或者build.gradle文件里面的配置有误,通通排查了一遍也没有发现问题。
后来终于找到了,因为是项目中所有的方法数量超过65535导致的。解决的方法就是,在build.gradle文件中,添加如下代码:

dexOptions{
        jumboMode true
    }

解决方法很简单,但是发现这个问题很难,我也是卡了很久才发现的。这样的话,我们用Android studio写JavaBean类也可以用快捷键Alt + Insert来自动生成。不用再担心方法数量超出限制的问题了。

希望能帮到你。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值