Android / Linux文件权限问题

时间:2010-11-17 23:37:02

标签: android linux permissions adb

我在应用的内部存储空间(/data/data/com.my_app)中创建了一个目录,并通过方法为目录提供了全局读/写权限

context.getDir(DATA_DIR_NAME, Context.MODE_WORLD_READABLE | Context.MODE_WORLD_WRITEABLE);

通过我的应用程序,我验证了linux文件权限是正确的:

drw-rw-rw- app_71 app_71 2010-11-16 18:38 app_data

我能够在app_data目录中读/写文件就好了。但是,我的一个开发人员突然无法再写入该目录了。我们的应用程序也无法访问其设备上的目录。

奇怪的是该目录的文件权限仍然相同。我们不能对目录进行任何类型的写操作,也不能再读取目录中的任何文件(这些文件之前已获得全局rw权限)。

我们唯一能做的就是adb shell ls /data/data/my_app/app_data查看我们的文件列表。奇怪地做adb shell ls -l /data/data/my_app/app_data不会返回任何东西。而且我们也无法将CD刻录到目录中。

有没有人指出问题是什么或如何解决这个问题?我们正处于结束之中。

非常感谢。

1 个答案:

答案 0 :(得分:1)

目录需要设置execute(X)位才能访问目录的内容。我不知道android模式,但查找MODE_WORLD_EXECUTABLE并查看是否可以设置。

基本上,您需要模式0777(rwxrwxrwx)才能以全部权限全局访问目录。

ls的作用原因是您有权读取目录中的文件名。 ls -l不起作用,因为您无法访问目录中的文件以获取-l将打印的元数据。