内部存储上文件的应用程序访问权限

时间:2010-06-30 11:31:42

标签: android

关于每个应用程序专用的内部存储的问题(特别是在使用Context.MODE_PRIVATE存储文件时)。

该存储实际如何分配给应用程序?只是通过包名或以某种方式绑定到应用程序的标志键?

假设我已经安装了应用程序1,然后编写了另一个具有相同名称和包名称的应用程序2(只是用不同的密钥签名)并安装它(app 2替换app 1),该应用程序2是否可以访问/ data / data / [app] / files?

或者,由于首先使用不同的签名键,我甚至无法用app2替换app1?

2 个答案:

答案 0 :(得分:1)

我认为您不能拥有2个具有相同包的应用程序。我知道如果我的设备上有开发版本,我尝试安装该版本,我收到错误,我必须先卸载前一个版本。

这也与卸载的 pm 重合,并按包名列出应用程序。

所以我的答案是它根据包名称分配它,但你不能拥有2个具有相同包名的应用程序。

答案 1 :(得分:1)

  

只是按包名或者不知何故   绑定到应用程序的签名键?

都不是。

每个应用程序在安装时都会分配一个Linux用户ID。它的所有文件都归该用户所有。它的进程以该用户身份运行。其他用户将MODE_PRIVATE个文件设置为deny-all。

  

或者我甚至不能替换   由于标志不同,app1与app2   钥匙在第一位?

正确。