最近将APP适配到android9.0,在一些老手机上一运行就崩溃,最后debug发现是Multidex的问题,记录下,以备后期使用。
背景:在android5.0之前,每一个android应用中只会含有一个dex文件,但是因为Android系统本身的BUG,使得这个dex的方法数量被限制在65535之内,这就是著名的64K(641024)*事件。为了解决这个问题,Google官方推出了这个类似于补丁一样的support-library。使用这个库后,我们的APP不再只会仅有一个dex文件,可能会产生多个dex文件,这样就避免了64K问题。
解决方法:在Application的attachBaseContext方法中添加Multidex引用。
直接上代码:
public class MultiDexApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}