Android 如何防止其他人访问我的应用程序数据库(位于/data/data/com.xxx/database/test.db)

Android 如何防止其他人访问我的应用程序数据库(位于/data/data/com.xxx/database/test.db),android,sqlite,Android,Sqlite,当我们在android中保存数据时,我们总是将数据保存在sqlite中。而数据库则是对他人的全方位访问。如何保证这些数据的安全性 我发现一些应用程序“数据库只能访问自己,当你试图打开它们的数据库时,它会说”打开数据库时出错,无法打开数据库文件“ PS:我使用“Root Explore”打开xxx.db,其他人可以访问它,因为您的设备是根设备,根设备意味着能够授予超级用户权限,而超级用户权限通常不适用于应用程序。在“普通”非根设备上,其他应用程序无法访问这些文件。如果你想防止在根设备上偷看内容,你

当我们在android中保存数据时,我们总是将数据保存在sqlite中。而数据库则是对他人的全方位访问。如何保证这些数据的安全性

我发现一些应用程序“数据库只能访问自己,当你试图打开它们的数据库时,它会说”打开数据库时出错,无法打开数据库文件“


PS:我使用“Root Explore”打开xxx.db,其他人可以访问它,因为您的设备是根设备,根设备意味着能够授予超级用户权限,而超级用户权限通常不适用于应用程序。在“普通”非根设备上,其他应用程序无法访问这些文件。如果你想防止在根设备上偷看内容,你需要加密你的数据库

根访问允许设备的用户或被授予管理员权限的应用访问设备上的每个文件,因此你不能“隐藏”根文件上的任何文件

如果此数据库包含要保密的数据,则必须对其进行加密,请参阅此项目:

但为什么某些应用程序会使其无法访问(在根设备上),这不应该发生。一旦获得root用户,您就可以在设备上获得最高权限。你基本上什么都能做。因此,请对这些“某些应用程序”进行更具体的说明,但我怀疑您可能无法访问它们,因为它们是专用锁或类似机制。当我使用“微信”时(发现我无法打开其数据库。他们是如何做到的?请确保此应用程序未运行-请参阅“设置”->“应用程序”->“运行应用程序”中的,并在其存在时将其杀死。或者使用操作系统监视器来执行此操作。当我将此数据库移动到其他文件夹时,在编译时,它将显示“数据库磁盘映像格式不正确:”,同时:从sqlite\u mast中选择*)er,其中按名称输入('table','view')顺序