当前位置: 首页 > news >正文

Android 17 要下狠手了:无障碍服务 API 将被严格限制

用过 Android 的开发者都知道,AccessibilityService 是个"神奇"的 API。

说它是无障碍服务吧,确实是——帮视障用户读屏、语音操控手机,这是它的本职工作。

但现实是,大量 App 拿它来干别的事:自动抢红包、自动点击广告、模拟用户操作、监控屏幕内容……甚至有恶意软件借它窃取密码。

Google 终于忍不了了。

Android 17 Beta 2 开始,开启高级保护模式后,非无障碍类应用将被直接禁止调用 AccessibilityService API。

AccessibilityService 到底能干什么

先说说为什么这个 API 这么"香"。

AccessibilityService 拥有 Android 系统中最强大的权限之一:

  • 读取屏幕内容:能获取当前界面上所有控件的文本、状态

  • 模拟用户操作:能执行点击、滑动、输入等手势

  • 监听用户行为:能知道用户点了什么、打开了什么 App

  • 全局悬浮窗:能在任何界面上叠加显示内容

简单说,拿到无障碍权限的 App,几乎可以"看到你看到的一切,做到你能做的一切"。

这本来是给视障、听障用户设计的辅助能力。但因为功能太强大,被大量"创意"用法占据了:

|
本来的用途
|
实际被用来干的事
|
| — | — |
|
屏幕朗读
|
自动抢红包
|
|
语音控制
|
自动化脚本
|
|
手势辅助
|
模拟点击跳过广告
|
|
视觉增强
|
监控其他 App 内容
|

Android 17 Beta 2 怎么限制的

Google 在 Android 17 Beta 2 中强化了高级保护模式(Advanced Protection Mode),核心变化:

1. 非无障碍类应用直接禁止获取权限

系统会检查应用是否声明为"无障碍工具"类别。如果不是,直接拦截,用户连手动授权的入口都没有。

2. 已授予的权限自动撤销

升级或开启保护模式后,之前已经拿到无障碍权限的非无障碍应用,权限会被自动收回。

3. 保护模式开启期间无法绕过

不像以前可以通过 adb 或开发者选项绕过,高级保护模式下这条路被彻底堵死。

// 以前:用户可以手动授权任何 App Settings → Accessibility → MyApp → Enable ✓ // Android17保护模式下: Settings → Accessibility → MyApp →[不可用/已隐藏]

哪些应用会受影响

影响面其实不小。很多"正经"App 也在用无障碍服务实现一些功能:

直接受影响的:

  • • 自动化工具(Tasker、Auto.js 等)

  • • 模拟 Dynamic Island 的 App(如 dynamicSpot)

  • • 密码管理器的自动填充(部分实现方式)

  • • 自动跳过广告的工具

  • • 手势增强类 App

不受影响的:

  • • TalkBack 等官方屏幕阅读器

  • • 正规声明的无障碍辅助工具

  • • Voice Access 等语音控制服务

已有用户反馈:在 Pixel 9a 上运行 Android 17 Beta 2 并开启保护模式后,dynamicSpot 无法获取所需的悬浮窗权限,功能完全失效。

为什么 Google 要这么做

一个字:安全

无障碍服务的滥用已经成为 Android 安全的重大隐患:

恶意软件利用无障碍服务的典型攻击链:

1. 诱导用户开启无障碍权限 ↓2. 监控银行/支付 App 的界面内容 ↓3. 读取账号、密码、验证码 ↓4. 模拟点击完成转账操作 ↓5. 用户全程无感知

这不是假设——近年来大量 Android 银行木马(如 SharkBot、Xenomorph)都是通过无障碍服务实现的。Google Play Protect 拦截了大量此类应用,但总有漏网之鱼。

从根源上限制非无障碍应用的权限获取,是最直接有效的防御手段。

对开发者的影响

如果你的 App 正在使用 AccessibilityService,需要注意:

1. 评估是否真的需要

问自己:这个功能是否有其他 API 可以替代?

|
需求
|
替代方案
|
| — | — |
|
自动填充密码
|
Autofill Framework
|
|
悬浮窗显示
|
SYSTEM_ALERT_WINDOW 权限
|
|
手势导航
|
GestureDetector / 系统手势 API
|
|
读取通知
|
NotificationListenerService
|

2. 如果确实是无障碍工具

确保在 AndroidManifest 中正确声明accessibilityServiceConfig,并在应用商店中标注为无障碍工具类别。符合标准的应用不会受到影响。

3. 关注后续政策变化

目前限制仅在"高级保护模式"下生效。但 Google 的惯例是:先在可选模式中试水,后续版本逐步扩大为默认行为。不排除未来所有 Android 设备默认启用这一限制。

写在最后

无障碍服务被滥用这件事,Android 生态已经忍了很多年。

Google 这次选择从"高级保护模式"切入,既保护了安全敏感的用户,又给开发者留了缓冲期。但信号已经很明确:

AccessibilityService 回归本职只是时间问题。

如果你的 App 还在依赖无障碍服务实现非无障碍功能,现在就该开始寻找替代方案了。别等到正式版发布,措手不及。

如果这篇文章对你有帮助,欢迎点个「在看」或转发给你的 Android 同事。关注公众号,获取更多 Android 开发一手资讯。

http://www.jsqmd.com/news/568316/

相关文章:

  • LobeChat效果展示:实测语音合成与多模态对话,体验惊艳
  • 网络安全有哪些岗位,如何成为一位优秀的网络安全工程师?
  • 10个Miri性能优化技巧:如何大幅减少检测开销提升Rust开发效率
  • Qwen3-14B镜像实操:API服务压力测试与QPS性能基准报告
  • 基于Protobuf构建高性能轻量级RPC框架指南
  • 快速原型构建遇阻?用快马AI一键绕过npm error 128,聚焦核心功能验证
  • 在线教程丨基于免费 CPU 部署 OpenClaw,轻松接入飞书/Discord 等社交软件
  • MCP 会不会成为 AI 系统的“新中间件”?
  • 别再折腾源码编译了!用Conda在Windows上5分钟搞定UHD Python API(支持USRP X310)
  • 高数值孔径物镜焦斑分析
  • 抖音视频批量下载高效解决方案实战指南
  • Duck.ai:隐私至上的聊天机器人崛起之路
  • PLC控制四轴攻丝机伺服电机工程案例:含完整启动停止回归原点定位方向控制程序、文本屏直接用程序...
  • linux-线程编程
  • 10 分钟部署 OpenClaw 数字员工!Windows 端实操指南
  • 使用seo站点管理系统需要注意哪些事项
  • Altium全新产品免费试用60天!注册即享
  • 拼多多做新拼姆,真的是在为“自营品牌出海”铺路吗?
  • Qwen3-4B-Thinking开源镜像教程:Chainlit前端对接企业微信机器人
  • GEC6818嵌入式Linux智能车库系统开发实战
  • 电子工程师必看:三极管NPN与PNP的实战应用对比(附电路图)
  • X6132铣床的数控化改造设计【说明书+CAD图纸+开题报告+任务书+外文翻译】
  • 5分钟快速上手LosslessCut:零编码视频剪辑的终极指南
  • ROS机器人实战:从零搭建RGB-D移动抓取系统(含完整代码与避坑指南)
  • seo白帽优化会不会被搜索引擎识别和惩罚_网站使用seo白帽优化会有什么风险
  • 知识图谱+大模型:16个行业爆款案例
  • 雪花算法替代MurmurHash后的提升(短链接项目中的唯一性设计)
  • 从零搭建跨平台VNC环境:Tight+Tiger+Viewer+noVNC实战指南
  • Windows界面增强与个性化配置:使用ExplorerBlurMica打造现代文件资源管理器
  • P3C黄山版迁移最佳实践:从旧版到新版的平滑过渡指南