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

    Android超出方法数量限制问题_第1张图片
    图片.png

  • 然后Android Studio就会报错

    Android超出方法数量限制问题_第2张图片
    图片.png

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

dexOptions{
        jumboMode true
    }

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

希望能帮到你。

你可能感兴趣的:(Android超出方法数量限制问题)