多终端无缝登录,稳定流畅
谷歌在Android 17中埋下了一项重大调整。近期有技术人员发现,谷歌悄然在该版本中封堵了应用读取开发者选项及USB调试状态的能力,无论设备是否开启开发者模式,应用读取此类信息时均会返回0(表示关闭),而非1(表示开启)。
事实上,不少应用程序会检查用户设备是否处于开发者模式,一旦发现便要求关闭,否则无法运行。谷歌在代码提交说明中表示,应用无需关注开发者模式的状态,相关检测逻辑在Android 17中将失效。
那么,为何有些应用希望知道你的设备是否开启了开发者模式,而谷歌又认为这类信息对应用无关紧要呢?
开发者模式是Android预留的调试接口集合,通过ADB(Android Debug Bridge)协议实现设备与开发工具的通信,专为开发者设计,核心功能包括应用开发阶段的性能监测、错误追踪和硬件适配。
只是早期的Android系统并不完善,不仅需要开启开发者模式中的USB调试才能与电脑连接下载应用,甚至备份联系人也要依赖它。因此,Android的开发者模式在实际使用中不仅服务于开发者,普通用户也经常用到。
当普通用户频繁使用后,问题随之暴露。开启开发者模式后,Android系统会开放/system/app/目录的读写权限,解除对系统级设置的保护锁,不仅包括可视化调试工具、CPU调度策略、内存分配机制等底层参数,还会暴露窗口管理、动画渲染等系统服务的控制接口。
开发者模式中的“选择模拟位置信息应用”权限可能被恶意应用利用进行位置欺诈;USB调试模式则易引发中间人攻击,恶意程序可通过ADB命令窃取通讯录、短信等敏感数据;模拟点击权限常被游戏外挂利用,许多所谓游戏辅助正是借助开发者模式实现自动打怪或执行任务。
为保护用户,不少应用会主动检测设备是否开启开发者模式,一旦发现便终止进程。例如手游,尤其是竞技类或提供玩家交易系统的游戏,一旦检测到开发者模式,就认为可能被用于作弊或修改游戏数据,直接禁止进入或提示异常。
同理,金融类应用也对开发者模式严防死守,支付宝、云闪付、银行App都可能出现检测到开发者模式即关闭支付功能、提示风险环境,甚至拒绝运行的情况。实际上,不仅第三方开发者,谷歌自身也不希望普通用户使用开发者模式,自Android 4.2.1版本起,开发者选项便被隐藏,需用户连续点击系统版本号才能激活。
然而,问题在于“传统难以改变”,自由开放是Android的底色,开发者模式向普通用户开放也被视为Android社区的象征。因此,谷歌只能将开发者模式开关隐藏,却不能直接告知用户“不想让你用”。偏偏随着Android生态价值增长,安全风险同步上升,开发者模式已成为安全体系的薄弱环节。
此外,谷歌也担心用户在开发者模式中胡乱操作,误改参数导致系统问题,最终由OEM合作伙伴承担后果。既然不能直接限制用户权利,又要维护Android生态的安全与稳定,谷歌选择不充当恶人,转而让银行、支付、游戏应用的开发者施压用户关闭开发者模式。
对于这些应用的开发者而言,Android 17一旦大规模推送,他们将难以进行设备环境检测。为图省事,他们可能直接要求用户永久关闭开发者模式,否则拒绝提供服务。以当前移动支付和手机游戏的普及程度,大多数人可能不会认为开发者模式代表的“自由”更重要。
如此,谷歌便能兵不血刃地劝导用户放弃使用开发者模式,使其回归原本用途。毕竟经过十余年完善,现在的Android系统已足够成熟,无需用户自行折腾。如需获取更多关于开发者模式调整的信息,可访问九游网站入口官网查阅相关报道。本文来自微信公众号“三易生活”(ID:IT-3eLife),作者:三易菌,36氪经授权发布。
