#系统资讯 谷歌已经在 Android 17 中禁止普通应用读取开发者选项和 USB 调试状态,现在尝试读取将始终返回 0 (代表关闭)。此前有些应用会通过 API 读取状态作为设备环境检测条件,例如银行类应用检测到用户开启 USB 调试后会禁止登录。谷歌认为普通应用读取此类信息完全没必要,所以始终返回 0 阻止这些应用读取实际状态。查看全文:https://ourl.co/126697
很多应用在安装或启动时会探测系统是否已经开启开发者选项或 USB 调试模式,没人知道这些应用读取此类信息有什么目的,但谷歌认为普通应用读取此类信息是完全没必要的,所以在 Android 17 中普通应用再尝试读取此类信息将始终返回 0 (代表关闭)。
原本应用可以通过读取字段信息判断 USB ADB 调试是否已经开启,以及判断用户是否已经开启开发者模式,应用程序可以读取字段返回值来判断开启状态,若返回 0 代表关闭、返回 1 代表已经启用。
谷歌在代码提交说明中给出的理由非常直接:此类信息对普通应用来说并不重要,因此合并到 AOSP 的变更会在应用读取此类字段信息时始终返回 0,以上更改已经在 2026 年 3 月合并到 AOSP 代码仓库。
这种做法与直接禁止访问有所不同,现有应用通常不需要因为 API 消失而修改代码,但如果应用程序此前根据返回 1 来判断开发者模式或 USB 调试状态已开启,那么相关检测逻辑在新系统上会失去作用。
某些银行类应用将无法检测状态逼迫用户关闭开发者模式:
长期以来应用程序可以直接读取这些选项状态,因此部分应用会将开发者选项和 USB 调试作为设备环境检测条件,例如部分银行类应用在检测到开启 USB 调试和开发者模式后会以安全隐患为由直接禁止登录。
现在状态修改后银行类应用将无法直接通过返回值判断,当然此类应用还会结合 root 状态、设备完整性验证、系统属性或自身反篡改机制进行环境判断,但至少无法再逼迫用户关闭 USB 调试和开发者选项。
Android 17 正式版已经在 2026 年 6 月发布,谷歌也更新开发者文档反映这些变化,有需要深入了解的开发者可以直接查看 Android 最新开发者文档。






