4.4 kitkat – Can’t open Settings (com.android.settings)

When I click on ‘Settings’ (com.android.settings) I get ‘Unfortunately, Settings has stopped’ dialog.

adb logcat:

I/dalvikvm( 3891): Failed resolving Lcom/android/settings/DateTimeSettings; interface 4396 'Lcom/lge/sui/widget/dialog/SUIDrumDatePickerDialog$OnDateSetListener;'
W/dalvikvm( 3891): Link of class 'Lcom/android/settings/DateTimeSettings;' failed
E/dalvikvm( 3891): Could not find class 'com.android.settings.DateTimeSettings', referenced from method com.android.settings.Settings.<clinit>
W/dalvikvm( 3891): VFY: unable to resolve const-class 1122 (Lcom/android/settings/DateTimeSettings;) in Lcom/android/settings/Settings;
D/dalvikvm( 3891): VFY: replacing opcode 0x1c at 0x0076
I/dalvikvm( 3891): Failed resolving Lcom/android/settings/applications/ManageApplications; interface 4396 'Lcom/lge/sui/widget/dialog/SUIDrumDatePickerDialog$OnDateSetListener;'
W/dalvikvm( 3891): Link of class 'Lcom/android/settings/applications/ManageApplications;' failed
E/dalvikvm( 3891): Could not find class 'com.android.settings.applications.ManageApplications', referenced from method com.android.settings.Settings.getStartingFragmentClass
W/dalvikvm( 3891): VFY: unable to resolve const-class 2180 (Lcom/android/settings/applications/ManageApplications;) in Lcom/android/settings/Settings;
D/dalvikvm( 3891): VFY: replacing opcode 0x1c at 0x0037
D/BubblePopupHelper( 2350): isShowingBubblePopup : false
D/(SystemUI)SystemUIProvider( 1248): (SystemUIProvider.java:53:call())method=SET_USER, extras=Bundle(mParcelledData.dataSize=64)
D/(SystemUI)SystemUIProvider( 1248): (SystemUIProvider.java:227:getOrEstablishDatabase())userHandle=0
D/(SystemUI)SystemUIProvider( 1248): (SystemUIProvider.java:53:call())method=DATA_GET, extras=Bundle(mParcelledData.dataSize=68)
I/dalvikvm( 3891): Failed resolving Lcom/android/settings/applications/ManageApplications; interface 4396 'Lcom/lge/sui/widget/dialog/SUIDrumDatePickerDialog$OnDateSetListener;'
W/dalvikvm( 3891): Link of class 'Lcom/android/settings/applications/ManageApplications;' failed
E/dalvikvm( 3891): Could not find class 'com.android.settings.applications.ManageApplications', referenced from method com.android.settings.Settings.onBuildStartFragmentIntent
W/dalvikvm( 3891): VFY: unable to resolve const-class 2180 (Lcom/android/settings/applications/ManageApplications;) in Lcom/android/settings/Settings;
D/dalvikvm( 3891): VFY: replacing opcode 0x1c at 0x0064
D/(SystemUI)SystemUIProvider( 1248): (SystemUIProvider.java:480:get())0
D/(SystemUI)SystemUIProvider( 1248): (SystemUIProvider.java:126:call())retValue = Bundle({_return=0})
I/(SystemUI)Utils( 2350): onReceive = com.lge.statusbar.collapsed
I/(SystemUI)VolumeSlider( 2350): onReceive = com.lge.statusbar.collapsed
I/(SystemUI)BrightnessSlider( 2350): onReceive = com.lge.statusbar.collapsed
I/Config  ( 3891): start check native_ca
I/Config  ( 3891): getOperator() : TRF
W/dalvikvm( 3891): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/android/settings/Settings;
D/AndroidRuntime( 3891): Shutting down VM
W/dalvikvm( 3891): threadid=1: thread exiting with uncaught exception (group=0x41e10e90)
E/AndroidRuntime( 3891): FATAL EXCEPTION: main
E/AndroidRuntime( 3891): Process: com.android.settings, PID: 3891
E/AndroidRuntime( 3891): java.lang.NoClassDefFoundError: com.android.settings.DateTimeSettings
E/AndroidRuntime( 3891):        at com.android.settings.Settings.<clinit>(Settings.java:835)
E/AndroidRuntime( 3891):        at com.android.settings.applications.AppMultiDeleteGlobalVariable.onCreate(AppMultiDeleteGlobalVariable.java:27)
E/AndroidRuntime( 3891):        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
E/AndroidRuntime( 3891):        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4430)
E/AndroidRuntime( 3891):        at android.app.ActivityThread.access$1500(ActivityThread.java:142)
E/AndroidRuntime( 3891):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1263)
E/AndroidRuntime( 3891):        at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 3891):        at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 3891):        at android.app.ActivityThread.main(ActivityThread.java:5118)
E/AndroidRuntime( 3891):        at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 3891):        at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 3891):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
E/AndroidRuntime( 3891):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606)
E/AndroidRuntime( 3891):        at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 1248):   Force finishing activity com.android.settings/.Settings
V/ActivityManager( 1248): Moving to PAUSING: ActivityRecord{422bcf18 u0 com.android.settings/.Settings t120 f}
I/VolumeVibratorManager( 1248): cancel()

Specifically:

java.lang.NoClassDefFoundError: com.android.settings.DateTimeSettings

The Story:

A long time ago, I was removing bloatware. I removed an app that com.android.settings needed. Now I don’t remember what that app is called… so I assume its ‘DateTimeSettings’. I’m guessing also that this is a LG specific app.

Phone Info:

  • LGL16C (AKA LG Sunrise)
  • Anrdoid Version: 4.4.2 kitkat

Things I’ve Tried:

  • Launching activities directly, same error.
  • DateTimeSettings.java
    Problem is…. Even with the source code.. how do I correct the problem?
  • Searched for LG sunrise stock firmware (something similiar would prob work)

Solutions that would fix my problem:

  1. Restoring ‘DateTimeSettings’

Any help would be appreciated! Thank you in advance!