chore: target Android 16 (SDK 36) on phone and watch - #65
Merged
Conversation
Google Play requires new and updated apps to target API 36 from 31 August, so this raises compileSdk and targetSdk to 36 on both modules. minSdk stays at 26. Raising the target says which behaviours the app opts into; it does not drop any device. The behaviour changes Android 16 enforces at this target were already handled: - Edge-to-edge is mandatory. The app has always called enableEdgeToEdge, and 1.3.1 fixed the inset regression that left content under the status bar, so the layout is already correct for it. - Orientation and resizability locks are ignored on large screens. The portrait lock came off in 1.3.0 when the app learned to rotate, so there is nothing left to ignore. - 16 KB memory pages. We ship no native code of our own, and the two libraries that arrive transitively (androidx.graphics.path, datastore_shared_counter) already have 16 KB aligned LOAD segments, verified against the built APK. Both flavours, the wear module, and the unit tests build clean. The only warnings are pre-existing Material3 deprecations unrelated to the SDK level: AutoMirrored icon variants and the newer menuAnchor overload.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Google Play requires new and updated apps to target API 36 from 31 August. Raises
compileSdkandtargetSdkto 36 on both the phone and watch modules.minSdkstays at 26. Raising the target declares which behaviours the app opts into; it doesn't drop a single device. OnlyminSdkwould.The Android 16 gates, and why each is already clear
enableEdgeToEdge, and 1.3.1 fixed the regression that left content under the status bar - so the layout is already right for itOn 16 KB pages
We ship no native code, but two libraries arrive transitively:
libandroidx.graphics.path.soandlibdatastore_shared_counter.so. I extracted them from the built APK and checked their ELF program headers:Both already aligned, so nothing to do. Worth recording since it's a Play submission gate and the answer isn't guessable from the dependency list.
Verification
:app:assemblePlayRelease,:app:assembleOpenRelease,:wear:assemblePlayRelease, and both unit-test suites build clean.Confirmed against the built artifacts rather than the gradle files, via
aapt2 dump badging:The only compiler warnings are pre-existing Material3 deprecations unrelated to the SDK level (AutoMirrored icon variants, the newer
menuAnchoroverload). Worth cleaning up sometime, but not as part of a deadline change.Device checklist
Behaviour changes at this target are the sort that only show on a real device, and ideally one running Android 16: