Repository navigation
feat(android): [minSdk 26 1] Raise minSdk from 21 to 26 - #6435
Open
runningcode wants to merge 3 commits into
Open
runningcode wants to merge 3 commits into
runningcode wants to merge 3 commits into
Conversation
Raise the minimum supported Android API level of all Android modules to 26. The sample and the sqlite tests no longer need to override the floor for androidx.sqlite. Robolectric cannot load an APK below its minSdk, so core tests now default to API 26. Tests that only covered pre-26 code paths are removed, and tests whose behavior differs on API 26 are adjusted. ObsoleteSdkInt is disabled until the next change removes the checks this makes obsolete. Refs JAVA-547 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
📲 Install BuildsAndroid
|
This was referenced Oct 30, 2026
The UI test app had two version checks that minSdk 26 makes obsolete. The R8 bundled with AGP 9.0 and 9.2 crashes with a NullPointerException in its API level database while optimizing androidx.core's LocationManagerCompat at minSdk 26. When VERSION_AGP overrides AGP, as in the AGP matrix, put the R8 from the default AGP 9.4.0 ahead of AGP on the buildscript classpath. Refs JAVA-547 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
runningcode
commented
Oct 30, 2026
| object BuildPlugins { | ||
| val androidGradle = "com.android.tools.build:gradle:$AGP" | ||
|
|
||
| // The R8 bundled with AGP 9.0 and 9.2 crashes on androidx.core at minSdk 26, so builds that |
Contributor
Author
There was a problem hiding this comment.
this is probably the only line that needs reviewing.
i also tried
- upgrading androidx.core
- adding a keep rule
but neither works. open to other ideas.
runningcode
marked this pull request as ready for review
October 30, 2026 14:12
runningcode
requested review from
0xadam-brown,
adinauer,
markushi and
romtsn
as code owners
October 30, 2026 14:12
This branch has not been deployed
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.
PR Stack (minSdk 26)
📜 Description
Raises
minSdkfor all Android modules from 21 to 26. This doesn't remove the dead code.Note: R8 version had to be forced otherwise CI failed the android integration tests. Open to other ideas on that one, see my comment in the code.
💡 Motivation and Context
💚 How did you test it?
CI Passes
📝 Checklist
sendDefaultPIIis enabled.🔮 Next steps
SDK_INTchecks made obsolete by this change and turnObsoleteSdkIntback on (next PR in the stack)