Random Musings on the Android 17 Beta 1
Last time around, with Android 16, we had two developer previews before a beta. This time, not so much. We went straight to Beta 1 for Android 17. Not only did we lose months of developer preview time, but Beta 1 came out three weeks later than did Android 16 Beta 1.
The good news is: there is not all that much in this release. The bad news is: the point of the
release seems to be to break apps. Whether it’s immediately or a year out when the Android 17
targetSdk becomes required, there is quite a bit in this release that might screw up your app.
While things like
adaptive screens
and background audio hardening
get all the attention:
-
They appear to be adding a dedicated permission for using the loopback IP address (
127.0.0.1or::1). Presumably, this is to help prevent SDKs from talking to other installed apps behind developers’ and users’ backs. -
Dynamically-loaded native libraries must be read-only. Hopefully this does not affect you.
-
Longer-term,
useCleartextTrafficis going away, and you will need to grant permissions manually for someIntentactions that used to have permissions granted implicitly.
There is a fair bit of documentation, but it is a bit disjointed. For example, the Android 17 Beta 1 announcement blog post mentions a change to the size of custom notification views that takes effect when you move to target Android 17… but the page on behavior changes for targeting Android 17 does not mention it.
Other documentation bugs include:
-
The API differences report claims a lot of changes were made in API Level 1 when that does not appear to be the case
-
They claim to have added a new
DEVICE_PROFILE_FITNESS_TRACKERcompanion request, but that seems to have been around for years -
While some places in the docs indicate that Android 17 will result in an API version of
37, note thatBuild.VERSION_CODES.CINNAMON_BUNis10000for Beta 1, continuing a long-standing tradition of using high temporary values for new version codes until the API changes stabilize
(though I do appreciate the choice of cinnamon bun as the tasty treat for this release! 😋)
My usual random musings focus on changes in the API differences report that do not seem to be covered elsewhere. Android 17 Beta 1 is a tiny release in terms of API changes, so there is not much to report:
-
FINGERPRINT_SERVICEis being officially removed fromContext. Since that system service has not been around in a while, hopefully this will not affect you. -
There is a new
STREAM_ASSISTANTvolume level defined inAudioManager -
There is a new
ACTION_SUPERVISION_SETTINGSinSettings. This action string may “show screen to manage supervision settings”. While the documentation does not state this, please assume that any given device might not offer this screen and plan accordingly. Personally, I worry about the potential ramifications of Android getting capabilities like X-ray vision that would be enabled in a super-vision screen. -
Wait… I am now receiving word that “supervision settings” may not refer to actual super-vision powers. Carry on!
-
startSafeBrowsing()onWebViewis now deprecated. Unsafe browsing presumably is still supported.

