Testing Android App Compatibility for Android 17
Android 17 (API level 37) went stable on June 16, 2026, and it brings a handful of changes that can break apps quietly if they aren't tested against them directly. Here's what actually changed, and how to test for it before it costs you a bad release.
What changed in Android 17
Large-screen orientation and resizability restrictions are no longer optional. Previous Android versions let apps opt out of adapting to large screens (anything wider than 600dp). Android 17 removes that opt-out. If your app targets API 37 and hasn't been tested on a tablet-class or foldable-class screen, this is the first place to look.
Conservative app memory limits are now enforced. If your app gets killed under these limits, ApplicationExitInfo.getDescription() will report MemoryLimiter as the reason. This is a new failure mode that didn't exist on earlier versions, worth specifically testing for rather than assuming an out-of-memory kill means the same thing it used to.
Background audio behavior is more restricted. Playback, audio focus requests, and volume change APIs from the background are now gated more tightly, with some exceptions carved out for alarms. If your app plays audio or manages focus while not in the foreground, this is worth a dedicated test pass.
Manifest attribute and runtime API phase-outs from Android 16 continue to be enforced. If your app skated by on Android 16 with warnings instead of failures, Android 17 is where some of those warnings become breaking changes.
Why this matters for testing, not just development
Most teams find out about these changes when a crash report comes in from a real user on a device they don't have. Waiting for that is expensive. Testing against Android 17 specifically, on a range of screen sizes and device configurations, before release catches these issues where they're cheap to fix.
The large-screen requirement in particular needs testing across genuinely different form factors, not just a single tablet emulator profile. Foldables, large-screen phones, and traditional tablets don't all trigger the same resizability behavior, and a single test pass on one configuration will miss issues that show up on another.
How to test for it without a device lab full of hardware
This is exactly the kind of testing that benefits from device simulation rather than physical hardware for every configuration. A few practical steps:
- Set your target and compile SDK to API 37 and run your existing test suite first. This surfaces anything that was already silently broken and just hadn't been enforced yet.
- Test across multiple screen size and aspect ratio profiles, not just one. The orientation and resizability changes behave differently depending on the actual screen dimensions being simulated, so a single tablet profile isn't enough coverage.
- Watch for MemoryLimiter exits specifically. Add a check in your test logging for this exit reason so it doesn't get lumped in with generic OOM kills, which would hide how often it's actually happening.
- Run a dedicated pass on any background audio functionality, even if audio isn't your app's primary feature. Background music continuation, notification sounds tied to focus requests, and similar edge cases are easy to miss in a standard test pass.
- Re-run any tests that were passing with deprecation warnings on Android 16. Those warnings are the clearest signal for what's likely to break outright on API 37.
Device profile switching makes steps 2 and 3 in particular much faster to cover properly. Instead of provisioning and maintaining physical devices for every screen size and manufacturer combination, simulating the relevant configurations directly lets you run the same test suite across a much wider spread of conditions in less time.
The takeaway
Android 17's changes aren't dramatic individually, but they're the kind that slip through if testing is limited to whatever hardware happens to be sitting on a desk. Targeting API 37 without testing across screen sizes, memory limits, and background audio behavior specifically is how apps end up finding out about these changes from user crash reports instead of from their own test suite.
How Device Changer fits
Switch device profiles to cover tablet, foldable, and large-phone layouts, then replay the same QA pass under Android 17-class conditions without a full hardware matrix. Pair that with testing workflows and compatibility testing practice.