Android Can';难道我们不知道其他安卓应用程序在哪里;私有数据库文件是什么?

Android Can';难道我们不知道其他安卓应用程序在哪里;私有数据库文件是什么?,android,security,filesystems,sandbox,Android,Security,Filesystems,Sandbox,我们可以在Android上制作一个私有数据库。 对于私有数据库,其他应用程序甚至看不到数据库文件的位置。(数据库文件未列出) Android是如何实现的?这仅仅是文件系统特性吗 在Linux文件系统上(说它是ext4),如果我们设置chown root:root db file和chmod 700 db file,其他用户可以列出该文件。这就是我所困惑的。是的,这被称为沙箱。实际上,它使用Linux文件权限来强制执行这一点 如果您需要更多信息,请告诉我。是的,这称为沙箱。实际上,它使用Linux

我们可以在Android上制作一个私有数据库。 对于私有数据库,其他应用程序甚至看不到数据库文件的位置。(数据库文件未列出)
Android是如何实现的?这仅仅是文件系统特性吗


在Linux文件系统上(说它是ext4),如果我们设置
chown root:root db file
chmod 700 db file
,其他用户可以列出该文件。这就是我所困惑的。

是的,这被称为沙箱。实际上,它使用Linux文件权限来强制执行这一点


如果您需要更多信息,请告诉我。

是的,这称为沙箱。实际上,它使用Linux文件权限来强制执行这一点


如果您需要更多信息,请告诉我。

您对数据库工作方式的理解是错误的。每个应用程序都有自己的数据库,除非已链接到contentprovider,否则这些数据库特定于它所属的包。

您对数据库工作方式的理解是错误的。每个应用程序都有自己的数据库,除非链接到contentprovider,否则这些数据库都特定于它所属的包。

在安装过程中,Android中的每个应用程序(除了一些小的例外)都会收到自己的UID和GID。因此,Android中的每个应用程序都类似于Linux中的用户。Linux内核在文件系统级别使用沙箱防止一个应用程序访问另一个应用程序的文件(类似于Linux中每个用户的主目录)。因此,在Linux中,只有主目录(和根目录)的所有者可以直接访问此目录,而其他用户不能

如果你有Android的root访问权限,你可以像你在问题中建议的那样更改文件的修改器。因此,您可以使文件夹可以从其他应用程序访问。此外,当您创建一个文件时,您可以设置该文件是世界可读的,在这种情况下,所有应用程序都可以访问该文件

安装过程中,Android中的每个应用程序(除了一些小的例外)都会收到自己的UID和GID。因此,Android中的每个应用程序都类似于Linux中的用户。Linux内核在文件系统级别使用沙箱防止一个应用程序访问另一个应用程序的文件(类似于Linux中每个用户的主目录)。因此,在Linux中,只有主目录(和根目录)的所有者可以直接访问此目录,而其他用户不能


如果你有Android的root访问权限,你可以像你在问题中建议的那样更改文件的修改器。因此,您可以使文件夹可以从其他应用程序访问。此外,当您创建一个文件时,您可以设置该文件是世界可读的,在这种情况下,所有应用程序都可以访问该文件

在我的问题中添加了一句。在我的问题中添加了一句。这不是一个真正的编程问题-最好迁移到android.stackexchange.com。作为记录,这是一个非常好的问题,这不是一个真正的编程问题,可能最好迁移到android.stackexchange.com。作为记录,这是一个非常好的问题,只是没有真正的编程问题,没有编程内容。