共享首选项作为文件存储在设备的文件系统中.默认情况下,它们存储在应用程序的数据目录中,文件系统权限设置仅允许特定应用程序运行时使用的UID访问它们.因此,它们是私有的,因为Linux文件权限限制对它们的访问,就像在任何Linux/Unix系统上一样.
任何具有根级别设备访问权限的人都可以看到它们,因为根可以访问文件系统上的所有内容.此外,任何与创建应用程序使用相同UID运行的应用程序都可以访问它们(这通常不会完成,您需要采取特定的操作以使两个应用程序使用相同的UID运行,因此这可能不是一个大问题).最后,如果有人能够在不使用已安装的Android操作系统的情况下安装设备的文件系统,他们也可以绕过限制访问的权限.
如果您担心这样访问您的首选项(或您的应用程序编写的任何数据),那么您将需要对其进行加密.如果你那么担心他们,你需要弄清楚你所看到的风险水平到底需要多少保护.2011年12月刚刚出版的"Application Security for the Android Platform"中对此有非常广泛的讨论(免责声明:我是这本书的作者).