谷歌在 Android 17 里居然藏了个 " 大招 "。近期有开发者发现,谷歌悄悄在 Android 17 中禁止应用读取开发者选项和 USB 调试状态,不论设备是否启用开发者模式,应用读取此类信息将始终返回 0 ( 代表关闭 ) ,而非 1(代表已启用)。

那么问题就来了,为什么有些 App 希望知道你的设备是否开启了开发者模式,谷歌又为何认定这类信息对 App 不重要呢?
开发者模式作为 Android 预留的调试接口集合,是通过 ADB(Android Debug Bridge)协议实现设备与开发工具的通信,它就是给 Android 开发者用的,核心功能是应用开发阶段的性能监测、错误追踪和硬件适配。
只不过早期的 Android 并不完善,不仅需要开启开发者模式中的 USB 调试,与电脑连接时才能下载 App,甚至连备份联系人都得打开。所以 Android 的开发者模式在实践过程中不仅仅为开发者服务,普通用户往往也会经常使用。

开发者模式中的 " 选择模拟位置信息应用 " 权限,可能会被恶意应用利用实现位置欺诈;USB 调试模式则会带来中间人攻击,恶意程序可通过 ADB 命令窃取通讯录、短信等敏感数据;模拟点击权限会被游戏外挂利用,许多所谓的游戏辅助就是借助开发者模式实现自动打怪、自动执行任务。
为了保护用户,有相当多的 App 会主动检测设备是否开启开发者模式,一旦开启则终止进程。比如手游,尤其是竞技类或提供玩家交易系统的游戏,一旦检测到开发者模式,就认为可能会被用来作弊或修改游戏数据,直接禁止进入游戏或是提示异常。

可问题在于," 祖宗之法不可变 ",自由开放是 Android 的底色,开发者模式向普通用户开放也被 Android 社区视为自由的象征。所以谷歌只能将开发者模式的开关藏起来,却不能直接告诉用户 " 不想让你用 "。偏偏随着 Android 生态的价值与日俱增,它面临的安全风险也同步上升,开发者模式已然成为 Android 安全体系的薄弱环节。
再加上,谷歌也怕用户在开发者模式中胡乱操作,误改参数,把系统弄出问题,回头还得 OEM 合作伙伴兜底。既然不能直接挑明限制用户权利,却要维护 Android 生态的安全、稳定,所以谷歌选择了不当恶人,转而让银行、支付、游戏应用的开发者逼迫用户关闭开发者模式。

如此一来,谷歌就能兵不血刃地劝导用户放弃使用开发者模式,让后者回归本来的用途。毕竟经过十余年的完善,现在的 Android 系统已经足够完善,不需要用户自己瞎折腾了。
【本文图片来自网络】