From 414f8e8484339f21aab231a5e3970d4fe9bffc3b Mon Sep 17 00:00:00 2001 From: randogoth Date: Tue, 13 Oct 2026 11:47:01 +0300 Subject: [PATCH] fix: build Android against the devbox SDK and current Flutter --- android/app/build.gradle | 11 ++++++----- android/build.gradle | 9 +++++++++ android/gradle/wrapper/gradle-wrapper.properties | 2 +- android/settings.gradle | 4 ++-- pubspec.lock | 16 ++++++++-------- 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index ba6b53a..917552e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -8,16 +8,17 @@ plugins { android { namespace = "vision.flux.muzzlevelocity" compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion - compileSdkVersion 34 + // The devbox-managed SDK ships this NDK and is read-only, so Gradle + // cannot install the Flutter default beside it. + ndkVersion = "27.0.12077973" compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8 + jvmTarget = JavaVersion.VERSION_17 } defaultConfig { diff --git a/android/build.gradle b/android/build.gradle index d2ffbff..0187298 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -13,6 +13,15 @@ subprojects { project.evaluationDependsOn(":app") } +// Plugin build scripts ask for Flutter's default NDK, which the read-only +// devbox-managed SDK does not carry, so every project gets the app's pin. +gradle.afterProject { project -> + def android = project.extensions.findByName("android") + if (android != null && android.hasProperty("ndkVersion")) { + android.ndkVersion = "27.0.12077973" + } +} + tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 7bb2df6..e4ef43f 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-all.zip diff --git a/android/settings.gradle b/android/settings.gradle index e07c1cb..ff03f22 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.2.2" apply false - id "org.jetbrains.kotlin.android" version "1.8.22" apply false + id "com.android.application" version "8.11.1" apply false + id "org.jetbrains.kotlin.android" version "2.2.20" apply false } include ":app" diff --git a/pubspec.lock b/pubspec.lock index a329bcb..3c5e5bc 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -340,10 +340,10 @@ packages: dependency: "direct main" description: name: open_filex - sha256: dcb7bd3d32db8db5260253a62f1564c02c2c8df64bc0187cd213f65f827519bd + sha256: "9976da61b6a72302cf3b1efbce259200cd40232643a467aac7370addf94d6900" url: "https://pub.dev" source: hosted - version: "4.6.0" + version: "4.7.0" path: dependency: "direct main" description: @@ -393,13 +393,13 @@ packages: source: hosted version: "2.2.1" path_provider_platform_interface: - dependency: transitive + dependency: "direct dev" description: name: path_provider_platform_interface - sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + sha256: "484838772624c3a4b94f1e44a3e19897fee738f2d5c4ce448443b0417f7c9dda" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" path_provider_windows: dependency: transitive description: @@ -473,7 +473,7 @@ packages: source: hosted version: "3.1.6" plugin_platform_interface: - dependency: transitive + dependency: "direct dev" description: name: plugin_platform_interface sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" @@ -766,5 +766,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.9.0 <4.0.0" - flutter: ">=3.35.0" + dart: ">=3.10.0 <4.0.0" + flutter: ">=3.38.0"