ExceptionInInitializerError in Android app?
Solution 1
Based on this documentation An ExceptionInInitializerError is thrown to indicate that an exception occurred during evaluation of a static initializer or the initializer for a static variable. Check your code has any static initialization logic.
Solution 2
If your android version is 11 or higher you might encounter java.lang.ExceptionInInitializerError
and IllegalStateException
for which you will need to add latest okhttp3 dependencies which are:
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
and
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
Solution 3
java.lang.ExceptionInInitializerError android OS 11
if this is related to OkHttp then update your version 4.4.0.
In this version its fixed.
implementation 'com.squareup.okhttp3:logging-interceptor:4.4.0'
thanks.
Related videos on Youtube
Comments
-
Naveen almost 2 years
In my Android app the WebView activity class has following line,
webView.addJavascriptInterface(new JSInterface(this), "Android");
And in JSInterface class, I'm initializing Google "SpreadSheetService" like below,
import com.google.gdata.client.spreadsheet.SpreadsheetService; --- some more imports --- public class JSInterface { Context mContext; public SpreadsheetService service; /** Instantiate the interface and set the context */ JSInterface(Context c) { mContext = c; service = new SpreadsheetService("List Demo"); } ------- some more code -----
When I run the application I'm getting the following exception,
01-19 21:38:00.652: E/AndroidRuntime(4085): java.lang.ExceptionInInitializerError
which has the below trace
01-19 21:38:00.652: E/AndroidRuntime(4085): FATAL EXCEPTION: main 01-19 21:38:00.652: E/AndroidRuntime(4085): java.lang.ExceptionInInitializerError 01-19 21:38:00.652: E/AndroidRuntime(4085): at com.android.quotes.JSInterface.<init>(JSInterface.java:33) 01-19 21:38:00.652: E/AndroidRuntime(4085): at com.android.quotes.CHQuotesActivity.onCreate(CHQuotesActivity.java:19) 01-19 21:38:00.652: E/AndroidRuntime(4085): at android.app.Activity.performCreate(Activity.java:4465) 01-19 21:38:00.652: E/AndroidRuntime(4085): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 01-19 21:38:00.652: E/AndroidRuntime(4085): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919) 01-19 21:38:00.652: E/AndroidRuntime(4085): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980) 01-19 21:38:00.652: E/AndroidRuntime(4085): at android.app.ActivityThread.access$600(ActivityThread.java:122) 01-19 21:38:00.652: E/AndroidRuntime(4085): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146) 01-19 21:38:00.652: E/AndroidRuntime(4085): at android.os.Handler.dispatchMessage(Handler.java:99) 01-19 21:38:00.652: E/AndroidRuntime(4085): at android.os.Looper.loop(Looper.java:137) 01-19 21:38:00.652: E/AndroidRuntime(4085): at android.app.ActivityThread.main(ActivityThread.java:4340) 01-19 21:38:00.652: E/AndroidRuntime(4085): at java.lang.reflect.Method.invokeNative(Native Method) 01-19 21:38:00.652: E/AndroidRuntime(4085): at java.lang.reflect.Method.invoke(Method.java:511)
I searched Google, but didnt get any solution for this.. Any idea on why I'm getting this exception??
Peter
-
IgorGanapolsky over 10 yearsYeah, but what could be the problem? A static member should have no issues being accessed, hence it is static.
-
kosa over 10 years@IgorGanapolsky: It is not due to being accessed, it is because of value being initialized is not properly constructed. The right side part of static variable.
-
IgorGanapolsky over 10 yearsInteresting, initialized to what? An inconvertible type or null?
-
kosa over 10 years@IgorGanapolsky: My guess is, some class instance, which is either throwing exception (or) causing some bad dependency.
-
McLan about 7 yearsI am using a library in my app. For specific class in that library, whenever I create a new instance of it, my app crashes and gives me the same exception. Since it is a library class, it means I cannot change any thing in it. At the same time, I want to use it is functionality inside that class's methods. I am totally stuck and cannto find a way to solve this, any suggestions ? thanks
-
kosa about 7 years@Suda.nese I would suggest create new question and refer this question, you could get lot of answers.
-
McLan about 7 years@Nambari : I've already done so here : stackoverflow.com/q/42227184/2135363 .. and here : stackoverflow.com/q/42248119/2135363 .. Please have a look.
-
user158 over 4 years@McLan did you found a solution to your problem?
-
McLan over 4 years@user158 can’t remember. But will check for you.