惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
爱范儿
爱范儿
人人都是产品经理
人人都是产品经理
博客园 - 司徒正美
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
量子位
罗磊的独立博客
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
小众软件
小众软件
C
Cybersecurity and Infrastructure Security Agency CISA
Cyberwarzone
Cyberwarzone
大猫的无限游戏
大猫的无限游戏
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
雷峰网
雷峰网
Simon Willison's Weblog
Simon Willison's Weblog
The Cloudflare Blog
博客园 - 三生石上(FineUI控件)
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园_首页
博客园 - 叶小钗
V
Vulnerabilities – Threatpost
T
The Exploit Database - CXSecurity.com
T
Tailwind CSS Blog
IT之家
IT之家
博客园 - 聂微东
Spread Privacy
Spread Privacy
V2EX - 技术
V2EX - 技术
S
Security Affairs
宝玉的分享
宝玉的分享
V
V2EX
C
Cisco Blogs
博客园 - Franky
美团技术团队
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
S
Securelist
J
Java Code Geeks
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
Last Week in AI
Last Week in AI
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
WordPress大学
WordPress大学
W
WeLiveSecurity
T
Threatpost
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
还存储空间一片清朗:Android 的「沙盒」机制何时到来? - 少数派
2020-07-01 · via 少数派

新的媒体控制中心、针对聊天消息的「对话泡」、包含智能家居控制中心和移动支付卡包的电源键菜单……尽管疫情打乱了几乎所有发布活动的节奏,不久前公布的 Android 11 测试版本还是为我们带来了不少新看点。

关联阅读:Android 11 的新功能确定就是它们了!

在我们能够直接感知到的视觉变化和功能改进之下,一些更加底层、但又与每位 Android 用户的最终体验息息相关的改动也不容小视,这当中最令开发者和用户关注的,莫过于曾在 Android 10 开发者预览版中短暂亮相、后来因为兼容性问题而不得不推迟的「沙盒」机制——即分区存储(scoped storage)特性了。

随着 Android 11 测试版在一加、小米、OPPO 等 OEM 机型中相继落地,分区存储特性距离我们其实也已经越来越近了。在这篇文章中,我们将对 Android 存储机制的原理、现状、存在的问题以及分区存储特性如何解决这些问题进行解释和说明。

你想要的「沙盒」究竟还有多远?Android 11 是非常关键的一个版本。

内置存储乱象从何而来

打开系统自带的文件浏览器,顺便再打开「显示隐藏文件」之类的开关——如果没有用存储空间隔离(以前也叫 存储重定向)进行过处理,存储空间中所包含的文件和文件夹就绝对不只有 标准文件目录

在这样的外部存储空间中找个文件好比大海捞针,但「看着很乱」并非当前 Android 存储机制带来的唯一问题。

在 A 应用被授予存储空间读写权限1的同时,这个应用也获得了读取存储空间中所有公共目录和公共文件的权限;恰好 B 应用获取到的设备标识符、用户画像等隐私数据并未按照规范进行存储,我们的隐私数据就这样成为了散落在存储空间中不受丝毫保护的、在「毒瘤应用」之间公开交换的廉价产品。

关联阅读:隐私保护更严格的 Android 10 之后,国产应用这样对你进行广告追踪

现阶段,一个应用能够读写的文件夹分为两种:一种是位于 ​sdcard/Android/data​ 的私有目录,其他第三方应用不能读写,对于一个应用来说属于内部目录;另一种是请求了文件权限之后的内置存储空间,也就是你打开文件管理器后看到的那个乱糟糟的界面,对于一个应用来说这属于外部目录。

在外部目录中应用如何创建文件夹、创建文件夹用来干嘛、可以创建多少文件与文件夹……现阶段 Android 系统并不能通过细致的读写权限进行强制干涉,授予了一个应用存储空间读写权限,几乎等同于给了它一张可以在外部存储空间中随意穿梭的通行证。因此也就有了上面提到的外部存储空间乱象。

所以 Android 系统的开放文件系统在为用户进行文件管理交互助力的同时,也在众多不规范应用的滥用之下成为了妨害用户实际体验和隐私数据的钥匙。

从这个角度来说,Google 什么时候强制推行「沙箱存储」特性其实都不算晚。

分区存储如何解决上述问题

分区存储是 Google 在 Android 10 中引入的新特性,在 Android 10 的测试过程中,由于用户遇到的兼容性问题和开发者社区的反馈,这个原本将在 Android 10 正式版中生效的机制最终推迟。

但 Google 不可能就此放弃分区存储,相反,Android 11 还进一步对这一机制进行了完善。根据 Google 的 设想,采用分区存储特性后的存储空间主要会带来这样几个变化:

  1. 系统能知道每个文件夹的来历,方便用户管理
  2. 卸载应用时能够一并移除应用相关文件夹
  3. 应用写入外部存储的文件对其他应用来说不可见
  4. 用户下载的文件对大多数应用不可见

为了实现这样的目标,Google 在 Android 11 中采用了下列方法来对存储空间的使用规范进行梳理:

写入不再随心所欲

相比以往应用申请外部存储读写权限就能随意读取、写入外部存储空间目录和文件的做法,以 Android 11 为目标平台进行开发和适配的应用所能够申请到的外部存储访问权限变更为只读权限

如需写入,应用还需要单独申请「所有文件访问权限」,该权限在 Play 应用商店后续的指南和 规范 中进一步被明确为面向文件管理器、文件备份工具等特殊应用才能申请的权限。

这一改动从根源上断绝了应用随意读取外部存储空间目录、文件甚至其他应用文件的可能性。

一个应用一个「沙箱」

在上述前提下,应用在外部存储空间中能够写入的文件自然也从我们在本文第一部分中提到的公开的、宛如「自由贸易市场」的外部目录变成了应用专属的外部目录(app-specific files)。

专属,意味着这个目录对除了这个应用本身以外的其他应用而言是绝对不可见的,这也就是我们俗称的隔离或应用「沙盒」

以大家所熟知的「全家桶」应用 A 和应用 B 为例,在以往的外部存储空间机制作用下,应用 A 可以直接向外部存储空间写入 5 个垃圾文件夹并在其中一个文件夹里放上我们的隐私数据,拥有同样访问权限的应用 B 不仅可以参考应用 A 的做法创建 15 个垃圾文件,同时还能顺便读取一下应用 A 获取到的隐私数据。

分区存储机制双向切断了这种读写路径,在分区存储机制下,应用 A 和应用 B 只能把捡来的垃圾和死缠烂打要来的小秘密放在各自的小盒子里;同时小盒子和小盒子之间也不互通,应用 A 和应用 B 不再拥有交互数据的机会。

因此对这类应用而言,如何将自己包装成为「文件管理工具」并骗过 Google Play 的审核机制也许才是今后的唯一出路了。

借规范接口良性互通

不过这样一来又会产生新的问题:

微信要怎么发送浏览器下载的图片呢?2

对于这些需要在应用间共享的多媒体(图片、音频、视频)和文档(如 PDF、电子书等等)文件,Google 提供了一个 API 来方便应用将多媒体和文档文件存储至标准的公用目录,如根目录下的 ​/Pictures​。如果要读取多媒体文件,在用户授予了存储权限后,应用可以通过 MediaStore​ 这个 API 来读取这些标准公用目录中的文件。

如果需要读写非多媒体类的其他下载文件,则需要通过支持 存储访问框架(Storage Access Framework)的文件选取器进行,所以在分区存储机制下如果微信想要发送文件给其他人,还必须舍弃掉当前自己采用的那套并不规范的文件选取器。

采用标准 SAF 框架的文件选取器(左)和微信「自主研发」的文件选取器

最后,针对诸如 Solid Explorer 这种第三方文件管理器和钛备份、Swift Backup 这类备份工具,就像我们上面所提到的那样,Google 引入一个特殊的权限​来赋予其读写所有共享存储空间文件(包括非多媒体文件)的权限,但这个权限的作用范围依然不包括应用专属目录(内部和外部目录)。

注:Swift Backup 开发者已经通过 Google 官方提供的途径提交了适配 Android 11 和分区存储特性的新版本。

总体来说,分区存储机制下,应用对于外置存储的读写将被隔离至独立的沙盒文件夹中而非真正的根目录,以此避免了污染存储空间的问题;需要在多个应用间传递的文件数据的行为也将更多地借助规范 API 和系统组件来进行。

对 Android 平台而言,直接读写原始文件的「蛮荒时代」即将过去。

第三方应用何时适配

众所周知,一些开发者擅长利用「拖字诀」逃避 Google 的规范要求,好在 Google 也意识到了这一点。近年来 Google 对 Play 商店上架的应用提出了一个又一个看似严格的强制要求,无形之中推动着 Android 应用生态一点点向好。此前强制要求 64 位架构分发就是个例子,这个规定直接促成了微信这类「优秀产品」针对 64 位架构设备进行了适配。

针对分区存储,Google 考虑到兼容问题为应用开发者留出了充足的时间来进行适配工作,但同时也规定了「应用的 SDK 不能比当前主要 Android 版本低一个版本以上」,这个有点绕的规定用更直白的方式来解释即是 2021 年上架 Play 商店应用的 SDK 版本不能低于 Android 11(SDK 30)

大家不妨这样理解:如果某个应用想要用上新的功能和接口,适配的 API 和系统版本肯定要跟上;而每个 SDK 对应了一个系统版本,比如 SDK 30 对应的就是 Android 11。因此上面的规定自然就可以理解为,2021 年年底之前,至少所有在 Google Play 上架的应用都必须适配即将于今年第三季度推出正式版本的 Android 11。

大家翘首以盼的分区存储特性,届时自然也会作为一项默认规范全面铺开。

而就目前来说,已知适配了分区存储特性的国产应用不多,QQ 在不久前调整了下载文件的存储机制,但总体而言文件结构依然不符合规范;百度系 App 此前也公布过类似的 适配计划,目前未见实装。对国内应用而言适配「沙箱」特性所剩下的时间并不算多。

更重要的是,在我们已经谈论了近 20 年「全球化」话题的今天,部分国产应用依然可以依靠不在海外运营、规避 Play 商店上架、提供第三方下载和安装方式等方法来避过这一机制,Android 的存储空间能否真正迎来天朗气清,其实还需要屏幕前的你、我,国内手机厂商和应用开发者的共同督促。

参考链接:

关联阅读:

> 下载少数派 客户端、关注 少数派公众号,读懂 Android 系统的每个细节 🤔