android: lower min supported sdk to 24 #3994
Conversation
There was a problem hiding this comment.
Pull request overview
This PR lowers the minimum supported Android SDK version from 27 (Android 8.1) to 24 (Android 7.0), expanding device compatibility to include older Android versions.
Key changes:
- Updated minSdkVersion to 24 in both build.gradle files
- Added API level checks for AutofillManager features (requires API 26+)
- Replaced adaptive icon with API-versioned resources (adaptive icon for API 26+, static PNG icons for API 24-25)
Reviewed changes
Copilot reviewed 5 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| clients/android/workspace/build.gradle | Lowered minSdkVersion from 27 to 24 |
| clients/android/app/build.gradle | Lowered minSdkVersion from 27 to 24 |
| clients/android/app/src/main/java/app/lockbook/screen/OnBoardingActivity.kt | Added API 26 checks for AutofillManager usage, removed unused imports and variables |
| clients/android/app/src/main/res/mipmap/ic_launcher.xml | Removed adaptive icon from base mipmap directory |
| clients/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml | Added adaptive icon for API 26+ devices |
| clients/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png | Added static PNG icon for API 24-25 devices (xxxhdpi) |
| clients/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png | Added static PNG icon for API 24-25 devices (xxhdpi) |
| clients/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png | Added static PNG icon for API 24-25 devices (xhdpi) |
| clients/android/app/src/main/res/mipmap-hdpi/ic_launcher.png | Added static PNG icon for API 24-25 devices (hdpi) |
| clients/android/app/src/main/res/mipmap-mdpi/ic_launcher.png | Added static PNG icon for API 24-25 devices (mdpi) |
| clients/android/app/src/main/AndroidManifest.xml | Added Vulkan level 1 hardware requirement |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <uses-feature | ||
| android:name="android.hardware.vulkan.level" | ||
| android:version="1" | ||
| android:required="true" /> |
There was a problem hiding this comment.
The Vulkan hardware requirement is set to android:required="true", which will prevent installation on devices that don't support Vulkan level 1. While Vulkan support was introduced in API 24, not all Android 7.0+ devices have Vulkan hardware support. This could unnecessarily restrict the device compatibility that lowering minSdkVersion to 24 aims to achieve.
Consider setting android:required="false" if the app can gracefully fall back to a non-Vulkan renderer, or verify that Vulkan support is absolutely required for the app to function.
| android:required="true" /> | |
| android:required="false" /> |
There was a problem hiding this comment.
nah workspace uses vulkan so it's needed
No description provided.