升级后开机就提示“android.process.acore”停止执行 --分析 解决方式

Posted clnchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了升级后开机就提示“android.process.acore”停止执行 --分析 解决方式相关的知识,希望对你有一定的参考价值。

OTA升级的,升级引发的全部问题都是能够解释的,有的能解决,有的不能解决。


一个项目报了这个问题。

升级后开机就提示“android.process.acore”停止执行 


抓取 adb log 看到了 以下的这个 fatal  的log 


11-06 14:40:33.633  3827  3827 E AndroidRuntime: FATAL EXCEPTION: main
11-06 14:40:33.633  3827  3827 E AndroidRuntime: Process: android.process.acore, PID: 3827
11-06 14:40:33.633  3827  3827 E AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.android.providers.contacts.CallLogProvider: android.database.sqlite.SQLiteException: Can‘t downgrade database from version 851 to 850
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at android.app.ActivityThread.installProvider(ActivityThread.java:5043)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at android.app.ActivityThread.installContentProviders(ActivityThread.java:4614)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4547)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at android.app.ActivityThread.access$1500(ActivityThread.java:151)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1402)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:110)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at android.os.Looper.loop(Looper.java:193)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5324)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:515)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
11-06 14:40:33.633  3827  3827 E AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)


从log能够看到  om.android.providers.contacts 联系人模块的数据库出问题了。问题的解决办法是 Can‘t downgrade database from version 851 to 850 。就是说。无法从高级版本号的数据库降级到低级版本号的数据库。这个应该是android 的限制导致。


google 一下 为什么呢? 

stackvoerflow 有人解释了一下 ,假设你继承以下   onDowngrade 就能够了。可是是联系人是不能够这样做的吧~~

 you are using Android SQLiteOpenHelper, you need to override onDowngrade if you want to be able to run your application with a database on the device with a higher version than your code can handle.

You should care about this "Database Version thing" if ever your database schema is ever going to change (and in general, there is good chance it would).


解决方法: 先备份联系人数据。

(最好是网络备份,全然备份db的话可能没有效果)

方法一 

1设置-应用程序管理--联系人--清空数据   2 设置-应用程序管理--拨号盘-清空数据


方法二、 设置-恢复出厂设置 --清空全部数据。然后自己主动重新启动到recovery 然后就能够了--等着 一会就好了


























以上是关于升级后开机就提示“android.process.acore”停止执行 --分析 解决方式的主要内容,如果未能解决你的问题,请参考以下文章

centos升级内核后如何取消旧内核开机启动选项

我的k8 MP4 无法开机 无法连接电脑 固件升级时软甲提示找不到设备 应该怎么办?

我的电脑一开机就会提示 PCI standard host cpu bridge ?

windows server 2003在升级到SP2后补齐补丁开机错误提示

电脑开机360提示:svchost.exe占用CPU超50%,结束进程后,导致不能上网

电脑在更新系统win11重新启动。,再开机就开不开了,怎么办?