数据目录中不可移动的 0 字节文件
Unremovable 0 byte file in data dir
我的一个工作应用程序突然开始向我的 4.4.4 Kitkat 设备上的 logcat 发出警告:
W/ContextImpl﹕ Failed to ensure directory: /storage/emulated/0/Android/data/com.example.app/files/Pictures
应用程序无法访问所有照片和其他数据。
经过一些挖掘后发现 /storage/emulated/0/Android/data
中有一个看似 0 字节的文件,其中包含我的应用程序的包名称:com.example.app
。难怪Android不能建立同名目录
我完全不知道这个文件是如何创建的,何时创建的。或者更确切地说,原始目录是如何、何时以及为何损坏的。
奇怪的是,即使我在数据目录本身上调用 list()
或 listFiles()
时列出了它,调用 exists()
、isFile()
、isDirectory()
文件本身将全部 return false
.
该文件似乎没有 uid 或 gid,也没有与之关联的 date/time。 不能改名也不能删除。尝试清除应用程序的数据也不会删除它,也不会卸载应用程序。
现在怎么办?更改应用程序的包名称以便创建新目录显然不是这里的选项。
重启删除文件,问题解决。仍然不知道这是怎么发生的,为什么会发生。
我的一个工作应用程序突然开始向我的 4.4.4 Kitkat 设备上的 logcat 发出警告:
W/ContextImpl﹕ Failed to ensure directory: /storage/emulated/0/Android/data/com.example.app/files/Pictures
应用程序无法访问所有照片和其他数据。
经过一些挖掘后发现 /storage/emulated/0/Android/data
中有一个看似 0 字节的文件,其中包含我的应用程序的包名称:com.example.app
。难怪Android不能建立同名目录
我完全不知道这个文件是如何创建的,何时创建的。或者更确切地说,原始目录是如何、何时以及为何损坏的。
奇怪的是,即使我在数据目录本身上调用 list()
或 listFiles()
时列出了它,调用 exists()
、isFile()
、isDirectory()
文件本身将全部 return false
.
该文件似乎没有 uid 或 gid,也没有与之关联的 date/time。 不能改名也不能删除。尝试清除应用程序的数据也不会删除它,也不会卸载应用程序。
现在怎么办?更改应用程序的包名称以便创建新目录显然不是这里的选项。
重启删除文件,问题解决。仍然不知道这是怎么发生的,为什么会发生。