Android 11 如何给应用开启 Scoped storage

2020-11-22 13:31:34 +08:00
 fuxinya

可能是应用 target API 不高,老的应用申请存储权限后仍然可以在存储空间根目录乱拉屎。有没有强制开启的办法

8341 次点击
所在节点    Android
19 条回复
beginor
2020-11-22 13:35:15 +08:00
下载个“存储重定向”吧, 老应用不升级的话貌似没办法。
PlainTech
2020-11-22 14:37:36 +08:00
推荐使用 “存储空间隔离” ,https://sr.rikka.app
WebKit
2020-11-22 17:34:04 +08:00
手机自身木有办法。这也是为了兼容那些老版本应用。
dingwen07
2020-11-22 17:41:37 +08:00
必须要目标 API 版本 30 才会强制启用分区存储,而且如果 app 在安卓 10 安装的那也可以申请保留权限
好像即使是 API 版本 30 也可以可以申请 MANAGE_EXTERNAL_STORAGE 来获取文件权限,但是 Google Play 不会允许不需要这个权限的 app 申请这个权限,也就是说国产 app 还是可以作妖
beginor
2020-11-22 17:46:07 +08:00
@PlainTech 新版本叫“存储空间隔离”,旧版本叫“存储重定向” 不过新版本依赖“shizuku”
fansangg
2020-11-22 17:47:53 +08:00
@beginor 需要 root 的吧
Cytion
2020-11-22 18:02:13 +08:00
@fansangg 使用 Shizuku 模式的话靠 ADB 即可
beginor
2020-11-22 18:03:37 +08:00
@fansangg root 或者 adb
beginor
2020-11-22 18:10:56 +08:00
另外再装一个 App Ops, 也是存储空间隔离的作者开发的应用, 可以应对国产应用乱要权限的问题。

很多国产应用使用 App Ops 忽略权限之后依然可以正常运行, 特别是文件系统权限。
merpyzf
2020-11-22 19:21:08 +08:00
看 Google Play 的上架政策,目前的要求的 TargetApiVersion 还是 29,等明年差不多可以强制要求 30 。但即便到了 30 谷歌还是为那些需要依赖文件存储的一些应用留了后门,依然可以申请访问访问所有本地存储的权限。但谷歌会去审核所上架的应用是否必须需要该权限。所以,就等 Google 什么时候强制必须 30 了。
gzxu
2020-11-22 20:43:50 +08:00
Android 10 上实测,用 appops 将 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 设为 deny,应用就没办法访问 /sdcard 了。不放心的话可以用 Termux 测试一下

这种情况下应用可以正常访问 /sdcard 上的私有目录,比起 Android 9 下的表现,兼容性更好
WebKit
2020-11-22 21:13:53 +08:00
即使开启了 scoped storage 还是能通过 SAF 请求整个文件权限。。。对于毒瘤应用来说。
RikkaW
2020-11-22 21:49:03 +08:00
是什么让你觉得,一个“一键式的能改变使用存储空间的行为,又完全不影正常功能”的东西是可能的 😶
heganyuliang
2020-11-22 21:50:11 +08:00
@Cytion 没看到能用 shizuku 啊?我在 play store 和酷安下的还是必须要 root
terrytw
2020-11-22 22:58:13 +08:00
@heganyuliang storage redirect 必须 root
skylancer
2020-11-23 19:08:25 +08:00
@gzxu 你推荐了 appops, 就没发现里面 isolated_storage 是个 ops ?
Osk
2020-11-23 21:59:26 +08:00
不需要这功能,谢谢。

因为系统自带的各路特权 App 首先就带头往 /sdcard 扔垃圾。

垃圾系统 /滑稽 /
gzxu
2020-11-24 18:02:20 +08:00
@skylancer #16 那个 ops 设了没用。代码里有特殊逻辑
fox0001
2021-03-10 09:50:33 +08:00
对于顽固 app,或者可以考虑使用 Shelter/island 之类的工具,利用工作空间实现隔离,让它们在工作空间拉 shit

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/728030

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX