最近有朋友在問我,爲什麼我就加了一個類/一個庫突然跑不起來了。
排查方式:
1、確認你的代碼/引用沒有問題
2、檢查是否是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