最近有朋友在问我, 为什么我就加了一个类 / 一个库突然跑不起来了.
排查方式:
, 确认你的代码 / 引用没有问题
, 检查是否是 65k 问题
今天主要是解决 排查方式 2 的步骤, 这个原因主要是因为你的 apk 包方法数过大.
现在解决这个已经很方便了:
方式一 (繁琐): 程序分包, 这个比较繁琐; 需要对 jvm 加载 Class 的方式有足够的了解
方式二 (快速, 使用 AS):
1, 使用 google 提供的分包库
- implementation 'com.android.support:multidex:1.0.2'
- implementation 'com.android.support:multidex-instrumentation:1.0.2'
2, 在主项目的 build.gradle 文件里设置 multiDexEnabled true
3, 如果项目有自定义的 Application 类, 那就在它的 onCreate 方法里加入 MultiDex.install(this);
4, 如果 3 不满足, 你需要在主项目的 manifest 文件里添加 application 标签的 name 属性为:
android.support.multidex.MultiDexApplication
来源: http://www.bubuko.com/infodetail-2566458.html