我想阅读和编写其他应用程序的数据库
我尝试了两种方法。两者都需要root但仍无效。
1, 将其他应用程序的数据库文件复制到我的应用程序的目录中,如下所示:
su
cat xxx.xxx.xxx/databases/data.db > my.package/databases/data.db
chmod 660 data.db chmod 771 databases/
chown appUSR:appUSR data.db
但我使用ormlite来操作它,SQLExpetion抛出“从DBHelper获取可写数据库失败”。我尝试将data.db的权限更改为777,并且在ormlite执行和excption throw之后,权限已经更改为660.理论上我可以访问此.db文件whit 660.I不知道为什么我不能。
2
我直接将xxx.xxx.xxx/databases/data.db权限更改为666,将数据库更改为777。仍然无法访问,我想在SQLite api执行时要更改.db文件的权限。
我删除data.db并执行SQLite api,它可以自己创建一个空的data.db,我可以处理它。但我无法从具有相同字段的其他应用程序访问data.db副本。我更改了权限,所有者,群组,仍然无法正常工作。 这两个文件,有什么不同?
现在我将此文件复制到SD卡,我可以读写它,但我不想那样使用。