比如设置应用打开闪退的报错信息如下:
09-29 16:30:37.105 1675 1675 D AndroidRuntime: Shutting down VM
09-29 16:30:37.107 1675 1675 E AndroidRuntime: FATAL EXCEPTION: main
09-29 16:30:37.107 1675 1675 E AndroidRuntime: Process: com.android.settings, PID: 1675
09-29 16:30:37.107 1675 1675 E AndroidRuntime: java.lang.RuntimeException: Unable to instantiate application com.android.settings.SettingsApplication: java.lang.ClassNotFoundException: Didn't find class "com.android.settings.SettingsApplication" on path: DexPathList[[zip file "/system/priv-app/Settings/Settings.apk"],nativeLibraryDirectories=[/system/priv-app/Settings/lib/arm64, /system/priv-app/Settings/Settings.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /system/lib, /vendor/lib]]
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.LoadedApk.makeApplication(LoadedApk.java:802)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5399)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.ActivityThread.-wrap2(ActivityThread.java)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1551)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:102)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.os.Looper.loop(Looper.java:154)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6141)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.android.settings.SettingsApplication" on path: DexPathList[[zip file "/system/priv-app/Settings/Settings.apk"],nativeLibraryDirectories=[/system/priv-app/Settings/lib/arm64, /system/priv-app/Settings/Settings.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib, /system/lib, /vendor/lib]]
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.Instrumentation.newApplication(Instrumentation.java:992)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.LoadedApk.makeApplication(LoadedApk.java:796)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: ... 9 more
09-29 16:30:37.107 1675 1675 E AndroidRuntime: Suppressed: java.io.IOException: No original dex files found for dex location /system/priv-app/Settings/Settings.apk
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.DexFile.openDexFileNative(Native Method)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.DexFile.openDexFile(DexFile.java:367)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.DexFile.<init>(DexFile.java:112)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.DexFile.<init>(DexFile.java:77)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.DexPathList.loadDexFile(DexPathList.java:359)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.DexPathList.makeElements(DexPathList.java:323)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.DexPathList.makeDexElements(DexPathList.java:263)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.DexPathList.<init>(DexPathList.java:126)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:48)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:58)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:520)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.LoadedApk.getClassLoader(LoadedApk.java:553)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.ActivityThread.getTopLevelResources(ActivityThread.java:1872)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.LoadedApk.getResources(LoadedApk.java:766)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.ContextImpl.<init>(ContextImpl.java:2038)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.ContextImpl.createAppContext(ContextImpl.java:1983)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5316)
09-29 16:30:37.107 1675 1675 E AndroidRuntime: ... 8 more
09-29 16:30:37.109 448 740 W ActivityManager: Force finishing activity com.android.settings/.Settings
09-29 16:30:37.121 1675 1675 I Process : Sending signal. PID: 1675 SIG: 9
09-29 16:30:37.142 448 1562 I ActivityManager: Process com.android.settings (pid 1675) has died
09-29 16:30:37.142 448 1562 D ActivityManager: cleanUpApplicationRecord -- 1675
解决方案:
将device\rockchip\rk3399\rk3399_all\BoardConfig.mk中的“WITH_DEXPREOPT := true”修改为“WITH_DEXPREOPT := false”