zoukankan      html  css  js  c++  java
  • 悲剧的账户绑定与通讯录丢失实录

    事情是这样的,做一个实验需要两个android手机;于是将朋友的一个android手机借来用了;
    因为需要设置一个gmail帐号才能从android market上下载软件,朋友的手机没有设置(他也没gmail帐号),所以就将我的gmail帐号绑定了,结果还是没下载成功,android market识别的机子仍然是我的M9(貌似每个账户只能使用一台机器呢)。但更悲剧的是:在还手机之前想将我的帐号删除掉,发现尽然删除不了,提示说必 须通过恢复出场设置才能删除。(搜了一下才知道原来添加的第一个帐号确实删除不了,第二个,第三个...应该就可以删除了)

    恢复出厂设置的代价肯定就是丢失所有数据,这肯定是不可行的(事后证明还不如这么干算了,免得后面白折腾了一个下午~)于是上网搜了一下,找到一个办法:就是通过删除data/system/accounts.db的方法实现。(该方法链接: android3g.diandian.com/post/2011-11-04/6494916 )

    通过adb shell进去后,将该文件改名了(data/system/accounts.db.bak)

    然后重启手机后发现确实账户已经没有了,但悲剧的是朋友的通讯录也没了。。。(好几百个号码呢)!

    于是重新adb shell进去再将之前备份的文件改回来,重启后账户是恢复回来了,但通讯录仍然没有!

    论坛发贴求助时有网友提示应该将文件的权限设置与其它文件一致(需要ROOT,朋友的这款是改装机,默认已经root):

    $adb shell
    #cd /data/system/
    #chown system.system accounts.db
    #chmod 664 accounts.db
    #exit

    重启依然没有起色。

    然后就是检查通讯录所在的数据库文件了:/data/data/com.android.providers.contacts/databases/contacts2.db
    但确实没有了。。。

    附上sqlit操作记录:

    $ adb pull /data/data/com.android.providers.contacts/databases/contacts2.db contacts2.db (将数据库文件导出到本地)
    $ sqlite3 contacts2.db (打开数据库)
    sqlite> .tables (列出表)
    sqlite> s-e-l-e-c-t * from contacts; (输出表数据)
    sqlite> .quit (退出sqlite)

    其中calls是通话记录表,contacts是通讯录表,data是通讯录子表。(参见:hi.baidu.com/yfldyxl/blog/item/77e424d7c23570cba044df6d.html

    通过上面折腾,附上权威的不必恢复原厂设置也能删除已添加的Gmail账户方法(测试前一定要先备份!!):

    adb pull /data/system/accounts.db accounts.db
    sqlite3 d:/accounts.db
    s-e-l-e-c-t * from accounts;
    .schema
    delete from accounts where _id=1; (注意:这里的id根据实际显示进行更改)
    adb push d:/accounts.db /data/system/accounts.db (将更改后的数据库再导入到手机)

    详细参见:leidiqiu.iteye.com/blog/1041490
    squlit操作命令:wenku.baidu.com/view/48680b1ba8114431b90dd863.html

    对Android用户如下建议:
    1. 不时的使用豌豆夹进行备份
    2. 注册一个gmail帐号用于同步(不要使用别人的帐号,自己的帐号也不要在他人机器上绑定)
    3. 在验证网络上的方法前一定要记得备份!

  • 相关阅读:
    HTTP 协议 简述
    Git 远程仓库相关
    Git 冲突问题
    单例模式
    extends Thread 与 implements Runnable 的区别
    正则表达式语法大全
    [Hadoop源码解读](六)MapReduce篇之MapTask类
    [Hadoop源码解读](五)MapReduce篇之Writable相关类
    [Hadoop源码解读](四)MapReduce篇之Counter相关类
    [Hadoop源码解读](三)MapReduce篇之Job类
  • 原文地址:https://www.cnblogs.com/wzc0066/p/2948360.html
Copyright © 2011-2022 走看看