項目做了一段時間,今天突然發現華爲手機上運行出錯,但是在三星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