Android 17 Is Locking Down the Accessibility API. What It Means for Phone Automation
Android 17's Advanced Protection Mode now revokes the AccessibilityService permission from any app that isn't a genuine assistive tool. For a generation of automation apps, that permission was the whole engine. Here is what changed, why, and how to build phone control that survives it.
Auten Team

For most of the last decade, the easiest way to make an Android app control the phone was to ask for one permission: the AccessibilityService. It let an app read the screen, see every UI element, and tap, swipe and type on the user's behalf. Macro tools, auto-clickers, password managers, screen readers and a long tail of automation apps all rode on it. In 2026 that era is ending. Android 17's Advanced Protection Mode now refuses to grant the AccessibilityService permission to apps that are not genuine assistive tools, and automatically revokes it from ones that already have it. If you build or rely on phone automation, this is the most consequential platform change of the year.
What actually changed
Advanced Protection Mode arrived in Android 16 as a one-tap, opt-in security state for high-risk users — journalists, executives, anyone who wants a hardened phone. It already restricts sideloading, limits USB data transfer, and tightens several other surfaces. The change that matters here landed in the Android 17 line (visible in Beta 2 and the 17.2 builds): when Advanced Protection Mode is on, apps can no longer flip on accessibility access through a software flag. The system decides who qualifies.
The gatekeeping is mechanical. Apps that are real assistive tools declare themselves with an isAccessibilityTool attribute in their accessibility service configuration. With Advanced Protection Mode enabled, only apps carrying that declaration — and matching Google's narrow definition of assistive software — can be granted the permission. Everything else is blocked at grant time, and any permission an ineligible app already holds is silently revoked.
Google's definition of "genuine" is deliberately small: screen readers, switch-based input systems, voice input tools, and Braille access programs. Sitting on the outside of that line are the categories that quietly powered a lot of phone automation — automation and macro apps, assistants, monitoring tools, antivirus, cleaners, launchers and password managers. If your product is in one of those buckets and it depends on AccessibilityService, Advanced Protection Mode turns it off.
Why Google did it
This is not Google being capricious. The AccessibilityService API is the single most abused permission on Android. The overwhelming majority of Android banking trojans and spyware families weaponize it: once a malicious app convinces a user to grant accessibility access, it can read everything on screen, intercept one-time codes, and tap through transfers without the user touching anything. It is, functionally, remote control of the device handed over by a single tap. Years of "please enable accessibility to continue" social-engineering prompts trained users to grant exactly that.
The permission was always overpowered
Read that way, the restriction is overdue rather than surprising. The uncomfortable part for builders is that legitimate automation was relying on the same door the malware used. Google is not distinguishing good automation from bad — it is removing the door for everyone who is not a screen reader.
Why this matters for AI agents and automation
This collides directly with the most exciting trend in mobile right now. As we wrote in 2026: the year phone automation went agentic, a wave of AI agents now drive phones by looking at the screen and acting on it. Many of the consumer-facing ones are built as ordinary installed apps — and the fastest way to ship "an app that taps other apps" has always been, you guessed it, the AccessibilityService.
So there is a real risk surface here. An on-device agent that depends on accessibility access will simply stop working the moment its user turns on Advanced Protection Mode — and the users most likely to enable a hardened security mode are often the same security-conscious people a serious product wants to keep. Worse, the failure is silent: the permission is revoked, not re-prompted, so the agent degrades without an obvious cause. Building your phone-control strategy on a permission Google is actively walling off is building on sand.
The architectural fork
The restriction quietly sorts every phone-automation approach into two camps. The first depends on a user-granted accessibility permission on a personal device. That camp is now exposed: it works until the platform, the user, or a security policy takes the permission away. The second controls the device through channels that were never accessibility permissions at all — instrumentation and ADB-level control, test frameworks, and most cleanly, agents that run against cloud Android devices they fully own rather than a consumer's locked-down handset.
This is the camp Auten sits in, and the Android 17 change is a good argument for why. When an agent operates a device it controls end to end, there is no "please enable accessibility" prompt to social-engineer, no third-party permission for a security mode to revoke, and no shared door with the malware. The agent sees the screen and acts through the platform's own automation and instrumentation layers. Advanced Protection Mode is aimed at apps abusing a consumer's phone — it is not aimed at, and does not touch, automation running on infrastructure you provision yourself. If you are designing how an agent should control a phone, that distinction is now an architectural decision, not a detail.
What to do if you build phone automation
- Audit your dependency on AccessibilityService. If your product reads the screen or taps other apps through it on real user devices, treat that as a deprecation risk and plan a path off it.
- Move control off the consumer permission surface. Favor instrumentation, ADB, test-framework hooks, or cloud devices you own — channels Advanced Protection Mode does not police.
- Handle revocation gracefully. If you must keep accessibility access for now, detect when it is revoked and tell the user plainly, instead of failing silently.
- Declare honestly. The
isAccessibilityTooltag is for genuine assistive software. Mislabeling automation as an accessibility tool is exactly the abuse Google is hunting, and Play policy already polices accessibility use.
The honest caveat
Do not overstate this. Advanced Protection Mode is opt-in, and today most users never enable it — so most accessibility-based apps keep working for most people right now. This is not a switch that broke every automation app overnight. But the direction of travel is unambiguous: Google has spent successive releases tightening the AccessibilityService, Play policy has narrowed who may use it, and the protections that start as opt-in for high-risk users have a long history of becoming defaults. Betting that the consumer accessibility permission will stay a viable automation backbone is a bet against the entire trend line. And none of this touches iOS, which never exposed an equivalent general-purpose hook in the first place.
FAQ
Does Android 17 ban the AccessibilityService API outright? No. The API still exists and genuine assistive apps use it normally. The restriction only applies when a user enables Advanced Protection Mode, and even then only to apps that are not declared, qualifying accessibility tools.
Will my automation app stop working for everyone? Only for users who turn on Advanced Protection Mode. For those users, an ineligible app's accessibility permission is blocked and any existing grant is revoked. For everyone else it currently keeps working — but plan for the restriction to widen over time.
Can I just add the isAccessibilityTool tag to keep access? Only if your app genuinely is an assistive tool by Google's definition. The tag is checked against narrow categories, and Play policy independently scrutinizes accessibility use. Labeling an automation product as an accessibility tool to dodge the restriction invites enforcement, not a workaround.
Does this affect agents that run on cloud Android devices? No. The restriction targets apps requesting accessibility access on a user's personal phone. Automation that controls devices you provision and own through instrumentation and platform channels is outside the scope of Advanced Protection Mode entirely.
Android 17 is drawing a hard line under a permission that was always doing two jobs at once: helping people who need assistive software, and quietly powering everything that wanted to control a phone. The first job survives. The second now needs a real foundation. If you are building agents that operate phones, the lesson is to control devices you own rather than depend on a permission the platform is taking back. That is the approach Auten is built on — see how it runs on cloud Android devices.
Share this article