1 mxT52CRuqR6o5 2022-08-30 16:58:14 +08:00 移动文件的 source 和 dest 都是 /data/data/packagename/吗? |
![]() | 2 xuan_lengyue 2022-08-30 17:12:53 +08:00 估计是跨文件系统了 |
![]() | 3 AoEiuV020CN 2022-08-30 17:19:47 +08:00 安卓 12 没有复现, /data/data 移到 /sdcard 是会跨分区的, 要验证的话,直接调用 File.renameTo, 看看是不是失败了,move 的逻辑都是 rename 失败就 copy delete , |
![]() | 4 Vindroid OP @mxT52CRuqR6o5 @AoEiuV020CN 写错了,是从 /data/data/pkg1 -> /data/data/pkg2 ,这两个都是同一个用户和用户组,难道一个应用一个分区?试了下从 /data/data/pkg1/file2 -> /data/data/pkg1/file2 这种是没问题的 |
5 mxT52CRuqR6o5 2022-08-30 17:37:12 +08:00 @Vindroid 真有可能是安卓版本问题,安卓的沙箱能力不是一直在加强嘛 |
6 okakuyang 2022-08-30 17:48:06 +08:00 应该是沙盒的原因,安卓 9 应该还没有强制文件沙盒,11 应该是强制沙盒的,如果你的 App 没有注册成文件管理器应用应该是不能操作到别的应用的数据的。 |