1. 程式人生 > >關於java.lang.NoClassDefFoundError的解決方法

關於java.lang.NoClassDefFoundError的解決方法

1.NoClassDefFoundError之場景還原

       專案在後期收尾的時候,一直伴隨著一個揮之不去的bug--java.lang.NoClassDefFoundError,這樣導致了專案在app在Android版本5.0以下都不能執行,一登入就崩了,捉急!今天就這個錯誤,我決心耗費半天功夫,終於給破了,可喜可賀!接下來就該問題詳細分解一下,希望能幫助大夥解決難關。

2.java.lang.NoClassDefFoundError的解決辦法

    隨著專案的發展,app的容量會越愛越大,可能會報出詭異的錯誤,比如java.lang.NoClassDefFoundErro,這個錯誤是編譯時正常,執行時找不到對應的類。解決的辦法如下:

1.在module的build.gradle進行相應的配置

defaultConfig {
    applicationId "com.weiaibenpao.demo.chislim"
minSdkVersion 17
targetSdkVersion 23
versionCode 1
versionName "2.0.204"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}

保證multiDexEnabled true;

2.新增jar遠端依賴

compile 'com.android.support:multidex:1.0.0'
3.自定義application,使其過載attachBaseContext()方法
@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(base);
}
4.在manifest下配置application
<application
android:name=".sportoutdoor.presentation.module.PedometerApplication"
android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme">
最後clean工程一把,再執行,祝你好運!

好了,今天就講到這裡了,希望對您有所幫助,我是張星,歡迎關注,後期章節更精彩!