最近在自测的时候,用的是三星note3手机跑项目居然报错 java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
at okhttp3.OkHttpClient.newSslSocketFactory(OkHttpClient.java:263)
at okhttp3.OkHttpClient.<init>(OkHttpClient.java:229)
at okhttp3.OkHttpClient$Builder.build(OkHttpClient.java:1015)
at com.createspoint.moero.http.service.RetrofitServiceManager.<init>(RetrofitServiceManager.java:33)
at com.createspoint.moero.http.service.RetrofitServiceManager.getInstance(RetrofitServiceManager.java:51)
at com.createspoint.moero.http.loader.LoginLoader.<init>(LoginLoader.java:21)
at com.createspoint.moero.framework.network.login.impl.MoLoginPresenterImpl.<init>(MoLoginPresenterImpl.java:33)
at com.createspoint.moero.MainActivity.initData(MainActivity.java:52)
at com.createspoint.moero.base.MoBaseActivity.onCreate(MoBaseActivity.java:45)
at android.app.Activity.performCreate(Activity.java)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
at android.app.ActivityThread.access$800(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
at android.os.Handler.dispatchMessage(Handler.java)
at android.os.Looper.loop(Looper.java)
at android.app.ActivityThread.main(ActivityThread.java)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Expected Android API level 21+ but was 19
在错误信息中发现了 java.lang.IllegalStateException: Expected Android API level 21+ but was 19 应该就是版本的问题,然后去OkHttp官网查看确实是版本问题

目前我项目用的是 4.x以上的,人家文中说的很清楚想要兼容Android2.3+就得切换到 3.12.X
所以 implementation ("com.squareup.okhttp3:okhttp:3.12.0") 重新编译就OK了。
网友评论