ClassLoader
ClassLoader copied to clipboard
Activity, AppCompatActivity
When I switch from activity to appcompatactivity error occurs
FATAL EXCEPTION: main Process: com.test.jslibdexclassloader, PID: 18392 java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation at android.support.v7.widget.Toolbar.onSaveInstanceState(Toolbar.java:1409) at android.view.View.dispatchSaveInstanceState(View.java:12801) at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2624) at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2630) at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2630) at android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:2630) at android.view.View.saveHierarchyState(View.java:12784) at com.android.internal.policy.impl.PhoneWindow.saveHierarchyState(PhoneWindow.java:1832) at android.app.Activity.onSaveInstanceState(Activity.java:1224) at android.support.v4.app.SupportActivity.onSaveInstanceState(SupportActivity.java:74) at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:526) at android.support.v7.app.AppCompatActivity.onSaveInstanceState(AppCompatActivity.java:509) at android.app.Activity.performSaveInstanceState(Activity.java:1173) at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1223) at android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3192) at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3256) at android.app.ActivityThread.access$1100(ActivityThread.java:142) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1230) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5118) 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:794) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610) at dalvik.system.NativeStart.main(Native Method)
Why not use AppCompatActivity?
I am afraid that as far as I know, any activity that extends AppCompatActivity cannot be executed properly. While AppCompatActivity tries to get resources via IDs, ClassLoader cannot find those IDs. Because those IDs are from the loaded apk instead of being registered in R.id of ClassLoader app.