1. 程式人生 > >WebService請求伺服器,4.0系統出現java java.lang.NoClassDefFoundError錯誤

WebService請求伺服器,4.0系統出現java java.lang.NoClassDefFoundError錯誤

開發中利用WevService請求伺服器大4.0系統出現java java.lang.NoClassDefFoundError

這個問題開始之前,先解決jar包衝突,專案中用到ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar和okhttp-2.7.5.jar兩個jar包。

    packagingOptions {
        exclude 'META-INF/maven/com.squareup.okio/okio/pom.xml'
        exclude 'META-INF/maven/com.squareup.okio/okio/pom.properties'
exclude 'META-INF/maven/com.squareup.okhttp3/okhttp/pom.xml' exclude 'META-INF/maven/com.squareup.okhttp3/okhttp/pom.properties' }

原因:

NoClassDefFoundError異常,方法超數異常,jar包引入太多,裡面的額方法合計超過了65535個,就會在4.0系統出現這個異常

解決辦法1:

public class MyApp extends MultiDexApplication {
    @Override
    protected
void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(base); }

繼承MultiDexApplication 類,重寫attachBaseContext方法,新增 MultiDex.install(base);就搞定。

解決辦法2:

看見有人說配置build.gradle,如下程式碼,但是我的沒解決。

dependencies {
    compile 'com.android.support:multidex:1.0.0'
}

做筆記,也為需要的人服務