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

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