gpt4 book ai didi

android - File.delete() 不会删除 Android 上的符号链接(symbolic link)?

转载 作者:行者123 更新时间:2023-11-30 04:48:30 28 4
gpt4 key购买 nike

我无法在 Android 上删除符号链接(symbolic link)。不能用 File.delete() 也不能用exec("rm "+ verFile.getPath())

我有一个符号链接(symbolic link)

com.example.app/mydata/12345.ver --> com.example.app/lib/library.so

创建者

Runtime.getRuntime().exec(String.format("ln -s %s %s", target, link));

升级后(从网上下载不同的build.apk)我想删除这个链接

File verFile = new File(dataDir, verFile);
Log.w("MyApp", "Deleting file " + verFile.getPath());
if (verFile.exists()) Log.w("MyApp", "File exists!");
try {
Runtime.getRuntime().exec("rm " + verFile.getPath());
} catch( IOException ioex ) { Log.w("MyApp", "Failed to delete"); }

我可以替换

Runtime.getRuntime().exec("rm " + verFile.getPath());

verFile.delete()

但是没有效果(文件还是不会被删除)。

adb logcat我可以看到

W/MyApp   (13298): Deleting file /data/data/com.example.app/mydata/12345.ver
W/MyApp (13298): File exists!

但是12345.ver文件还在!它与应用程序的其余部分具有相同的用户/组权限(lib 目录除外,该目录由 system 用户拥有)。

有什么线索吗?

最佳答案

我知道这有点晚了,但谷歌在试图解决类似问题时派我来这里。任何删除特定符号链接(symbolic link)的尝试都失败了,并出现令人困惑的消息“目录不为空”我挖得更深一点,发现目标文件不存在。我创建了一个并且 rm 工作了:-)。

在我看来像是 Android 中的一个错误,但我对 Android 太陌生了,无法确定。

关于android - File.delete() 不会删除 Android 上的符号链接(symbolic link)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4226650/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com