From: Shan Shaji <s.shaji@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH pve_flutter_frontend] chore: android: update `compileSdkVersion` to 36 and update AGP version
Date: Mon, 7 Jul 2025 11:48:00 +0200 [thread overview]
Message-ID: <20250707094800.68832-1-s.shaji@proxmox.com> (raw)
Set `targetSdkVersion` and `compileSdkVersion` to (36).
According to android docs [0] the `targetSdkVersion` should be
<= `compileSdkVersion`.
Also update the Gradle and AGP versions [1] to support the new
API level.
[0] - https://developer.android.com/build#android_sdk_settings
[1] - https://developer.android.com/build/releases/gradle-plugin#api-level-support
Signed-off-by: Shan Shaji <s.shaji@proxmox.com>
---
The `biometric_storage` plugin works well when testing it in
Android 16 (Emulator). The plugins
(shared_preference [0], path_provider [1], url_launcher [2]) all uses
the compileSdkVersion version of flutter v3.29 which is less than 36.
Also the `flutter_inappwebview` [3] is using the compileSdkVersion (34).
The flutter default compileSdkVersion version can be found at
`packages/flutter_tools/gradle/src/main/groovy/flutter.groovy` which
is less than 36 on v3.29. Also the above groovy script also has a
condition to check if the plugin `compileSdkVersion` is greater than
`compileSdkVersion` of the App. Flutter will throw error or
suggestions for fixing if the `compileSdkVersion` of plugin is
greater than the app `compileSdkVersion`.
Also the API level changes are forward compatible [4], means even if
the plugin is compiled with the API level (35).
It will work with the new API level (36) as it does include changes
from API level 35 as well.
The above findings resulted in updating both the `targetSdkVersion`
and `compileSdkVersion` to 36.
[0] - https://github.com/flutter/packages/blob/2c52f245e232d6722530e5538bc61b12e5cbf6cd/packages/shared_preferences/shared_preferences_android/android/build.gradle#L37
[1] - https://github.com/flutter/packages/blob/2c52f245e232d6722530e5538bc61b12e5cbf6cd/packages/path_provider/path_provider_android/android/build.gradle#L26
[2] - https://github.com/flutter/packages/blob/2c52f245e232d6722530e5538bc61b12e5cbf6cd/packages/url_launcher/url_launcher_android/android/build.gradle#L29
[3] - https://github.com/pichillilorenzo/flutter_inappwebview/blob/0aaf7a0bfc01d61a4d1453cefb57fb6783b6e676/flutter_inappwebview_android/android/build.gradle#L29
[4] - https://developer.android.com/guide/topics/manifest/uses-sdk-element#fc
android/app/build.gradle | 2 +-
android/gradle/wrapper/gradle-wrapper.properties | 2 +-
android/settings.gradle | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/android/app/build.gradle b/android/app/build.gradle
index a749e46..9892795 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -44,7 +44,7 @@ def keystoreSecret = System.getenv('PROXMOX_APP_KEYSTORE_SECRET')
: keystoreProperties['keyPassword']
android {
- compileSdkVersion 35
+ compileSdkVersion 36
namespace "com.proxmox.app.pve_flutter_frontend"
sourceSets {
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties
index 90d1364..78a7bc3 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/android/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
#Mon Apr 24 14:18:06 CEST 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/android/settings.gradle b/android/settings.gradle
index 1da49ad..97c4ee8 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -18,7 +18,7 @@ pluginManagement {
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
- id "com.android.application" version "8.7.0" apply false
+ id "com.android.application" version '8.9.1' apply false
id "org.jetbrains.kotlin.android" version "1.8.22" apply false
}
--
2.39.5
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next reply other threads:[~2025-07-07 9:48 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-07 9:48 Shan Shaji [this message]
2025-07-07 14:48 ` [pve-devel] applied: " Thomas Lamprecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250707094800.68832-1-s.shaji@proxmox.com \
--to=s.shaji@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox