可能是应用 target API 不高,老的应用申请存储权限后仍然可以在存储空间根目录乱拉屎。有没有强制开启的办法
1
beginor 2020-11-22 13:35:15 +08:00 via Android
下载个“存储重定向”吧, 老应用不升级的话貌似没办法。
|
2
PlainTech 2020-11-22 14:37:36 +08:00
推荐使用 “存储空间隔离” ,https://sr.rikka.app
|
3
WebKit 2020-11-22 17:34:04 +08:00 via Android
手机自身木有办法。这也是为了兼容那些老版本应用。
|
4
dingwen07 2020-11-22 17:41:37 +08:00 via iPhone
必须要目标 API 版本 30 才会强制启用分区存储,而且如果 app 在安卓 10 安装的那也可以申请保留权限
好像即使是 API 版本 30 也可以可以申请 MANAGE_EXTERNAL_STORAGE 来获取文件权限,但是 Google Play 不会允许不需要这个权限的 app 申请这个权限,也就是说国产 app 还是可以作妖 |
5
beginor 2020-11-22 17:46:07 +08:00 via Android
@PlainTech 新版本叫“存储空间隔离”,旧版本叫“存储重定向” 不过新版本依赖“shizuku”
|
9
beginor 2020-11-22 18:10:56 +08:00 via Android
另外再装一个 App Ops, 也是存储空间隔离的作者开发的应用, 可以应对国产应用乱要权限的问题。
很多国产应用使用 App Ops 忽略权限之后依然可以正常运行, 特别是文件系统权限。 |
10
merpyzf 2020-11-22 19:21:08 +08:00
看 Google Play 的上架政策,目前的要求的 TargetApiVersion 还是 29,等明年差不多可以强制要求 30 。但即便到了 30 谷歌还是为那些需要依赖文件存储的一些应用留了后门,依然可以申请访问访问所有本地存储的权限。但谷歌会去审核所上架的应用是否必须需要该权限。所以,就等 Google 什么时候强制必须 30 了。
|
11
gzxu 2020-11-22 20:43:50 +08:00 via Android
Android 10 上实测,用 appops 将 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 设为 deny,应用就没办法访问 /sdcard 了。不放心的话可以用 Termux 测试一下
这种情况下应用可以正常访问 /sdcard 上的私有目录,比起 Android 9 下的表现,兼容性更好 |
12
WebKit 2020-11-22 21:13:53 +08:00 via Android 1
即使开启了 scoped storage 还是能通过 SAF 请求整个文件权限。。。对于毒瘤应用来说。
|
13
RikkaW 2020-11-22 21:49:03 +08:00 via Android
是什么让你觉得,一个“一键式的能改变使用存储空间的行为,又完全不影正常功能”的东西是可能的 😶
|
14
heganyuliang 2020-11-22 21:50:11 +08:00 via Android
@Cytion 没看到能用 shizuku 啊?我在 play store 和酷安下的还是必须要 root
|
15
terrytw 2020-11-22 22:58:13 +08:00
@heganyuliang storage redirect 必须 root
|
17
Osk 2020-11-23 21:59:26 +08:00 via Android
不需要这功能,谢谢。
因为系统自带的各路特权 App 首先就带头往 /sdcard 扔垃圾。 垃圾系统 /滑稽 / |
19
fox0001 2021-03-10 09:50:33 +08:00 via Android
对于顽固 app,或者可以考虑使用 Shelter/island 之类的工具,利用工作空间实现隔离,让它们在工作空间拉 shit
|