Android中運行時Java.lang.NoClassDefFoundError

項目做了一段時間,今天突然發現華爲手機上運行出錯,但是在三星s7上運行正常,深深的感受到bug總會在不知不覺中出現,於是網上找解決辦法,出現這種問題的原先有很多種,不過在網上找了一個和我情況差不多的例子,然後試着改了下,神一般的ok了!

原因


隨着項目代碼的曾加,各類三方jar包引入,致使方法數超出65536,因爲以前也遇到方法數超標的情況,所以在使用as的時候只配置了

defaultConfig {
    multiDexEnabled  true
}
,這樣出現的情況是,即時方法數超了,在5.0以上的手機上運行不會出問題,但是在5.0以下的手機會報Java.lang.NoClassDefFoundError的異常


解決辦法(實際解決65536的問題)


第一步

defaultConfig {
    multiDexEnabled  true
}

第二步

compile 'com.android.support:multidex:1.0.1'

第三步(Application中重寫此方法)

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

end





發佈了26 篇原創文章 · 獲贊 11 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章