android 方法数超过65k,解决dex方法数超过65536

最近有朋友在问我,为什么我就加了一个类/一个库突然跑不起来了。

排查方式:

1、确认你的代码/引用没有问题
2、检查是否是65k问题

今天主要是解决 排查方式2的步骤,这个原因主要是因为你的apk包方法数过大。

android 方法数超过65k,解决dex方法数超过65536

现在解决这个已经很方便了:

方式一(繁琐):程序分包,这个比较繁琐;需要对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

android 方法数超过65k,解决dex方法数超过65536

    3、如果项目有自定义的Application类,那就在它的onCreate方法里加入  MultiDex.install(this);

android 方法数超过65k,解决dex方法数超过65536

    4、如果3不满足,你需要在主项目的manifest文件里添加application标签的name属性为:
    android.support.multidex.MultiDexApplication

android 方法数超过65k,解决dex方法数超过65536

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章