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 然后就能够了--等着 一会就好了

最新文章

  1. LINK : fatal error LNK1104: 无法打开文件“gtestd.lib”
  2. Arcengine实现创建网络数据集札记(三)
  3. 权限框架 - shiro 自定义realm
  4. sql索引组织
  5. WP8异常错误:Error HRESULT E_FAIL has been returned from a call to a COM component.
  6. iOS 基础 第四天(0809)
  7. TCP传输小数据包效率问题(译自MSDN)
  8. iOS开发集成微信支付
  9. 从汇编看c++成员函数指针(三)
  10. bootstrap table笔记
  11. Android原生APP内分享
  12. Oracle ACL(Access Control List)
  13. Event Sourcing - ENode(一)
  14. 记录近期小改Apriori至MapReduce上的心得
  15. python学习总结笔记(一)
  16. ::在c++中什么意思
  17. selenium对百度进行登录注销
  18. $_POST和$GLOBALS['HTTP_RAW_POST_DATA'] 的区别
  19. php面试题2018
  20. Unix环境高级编程(二)文件和目录

热门文章

  1. linux下的oom调试笔记【原创】
  2. 网络 - TCP/IP四层模型,面向生产
  3. layer获取弹出frame层数据
  4. Node.js:GET/POST请求
  5. jQuery右键菜单contextMenu实例
  6. php obstart
  7. Unity3d gameObject
  8. hdu 2485 Destroying the bus stations 最小费用最大流
  9. 学习SQL笔记
  10. 【Five-Minute Share】“为什么要选择自增型的主键”