Android Multidex的那些坑

最近将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);
   }
}

你可能感兴趣的:(Android Multidex的那些坑)