Android数据库备份还原

Android数据库备份还原,android,database,sms,backup,restore,Android,Database,Sms,Backup,Restore,可能重复: 我正在编写一个应用程序,我需要能够将数据库备份到SD卡,并通过java进行恢复。我首先试着把它复制到SD卡上,它似乎工作得很好,浏览完数据库后,它似乎一切正常。然而,如果我只是将它复制回来并覆盖我得到的现有文件,我似乎无法恢复它。我正在寻找备份短信数据库和恢复它。感谢您对此问题提供的帮助您是否确保重新设置文件权限,以便sms应用程序具有读取文件的权限 存储在SD卡上的文件都有--rwxr-x,因此将备份的sms数据库复制到/data/data/com.android.provide

可能重复:


我正在编写一个应用程序,我需要能够将数据库备份到SD卡,并通过java进行恢复。我首先试着把它复制到SD卡上,它似乎工作得很好,浏览完数据库后,它似乎一切正常。然而,如果我只是将它复制回来并覆盖我得到的现有文件,我似乎无法恢复它。我正在寻找备份短信数据库和恢复它。感谢您对此问题提供的帮助

您是否确保重新设置文件权限,以便sms应用程序具有读取文件的权限

存储在SD卡上的文件都有--rwxr-x,因此将备份的sms数据库复制到/data/data/com.android.providers.telephony/databases/将保留SD卡的这些权限,而且如果您以root用户身份复制,root用户将是文件的所有者,我相信会拒绝sms应用程序的写入权限

-rw rw--无线电972800 2011-12-05 06:40 mmssms.db

我的设备上有数据库,所以在您将备份复制回设备/数据/数据之后 做

chmod 660 mmssms.db

并将所有权更改回无线电


chown radio.radio mmssms.db

你确定在试图覆盖数据库时没有对数据库进行任何锁定吗?我不知道我没有接触过数据库我只是喜欢用bash一开始将sms数据库从/data/data/com.android.providers.telephony/databases/smsmms.db复制到sd,然后我只是尝试将其复制回来,然后短信应用程序强制执行有人能解决我的问题吗这可能对你有用。