diff --git a/examples/android/app/build.gradle.kts b/examples/android/app/build.gradle.kts index 4a73d431..200d1ef0 100644 --- a/examples/android/app/build.gradle.kts +++ b/examples/android/app/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("com.android.application") } +val minSdkApi = (System.getenv("ANDROID_MIN_SDK") ?: "24").toInt() val compileSdkApi = (System.getenv("ANDROID_COMPILE_SDK") ?: System.getenv("ANDROID_MAX_API") ?: "36").toInt() @@ -17,7 +18,7 @@ android { defaultConfig { applicationId = "com.example.devbox" - minSdk = 21 + minSdk = minSdkApi targetSdk = targetSdkApi versionCode = 1 versionName = "1.0" diff --git a/examples/android/devbox.d/android/android.lock b/examples/android/devbox.d/android/android.lock index b7c23576..86dc303c 100644 --- a/examples/android/devbox.d/android/android.lock +++ b/examples/android/devbox.d/android/android.lock @@ -1,6 +1,7 @@ { "ANDROID_BUILD_TOOLS_VERSION": "36.1.0", "ANDROID_CMDLINE_TOOLS_VERSION": "19.0", + "ANDROID_MIN_SDK": 24, "ANDROID_COMPILE_SDK": 36, "ANDROID_TARGET_SDK": 36, "ANDROID_SYSTEM_IMAGE_TAG": "google_apis", diff --git a/examples/react-native/android/build.gradle b/examples/react-native/android/build.gradle index 4d536303..88c4edc4 100644 --- a/examples/react-native/android/build.gradle +++ b/examples/react-native/android/build.gradle @@ -3,7 +3,8 @@ buildscript { def compileSdkEnv = System.getenv("ANDROID_COMPILE_SDK") ?: System.getenv("ANDROID_MAX_API") ?: "35" def targetSdkEnv = System.getenv("ANDROID_TARGET_SDK") ?: System.getenv("ANDROID_MAX_API") ?: "35" buildToolsVersion = System.getenv("ANDROID_BUILD_TOOLS_VERSION") ?: "35.0.0" - minSdkVersion = 24 + def minSdkEnv = System.getenv("ANDROID_MIN_SDK") ?: "24" + minSdkVersion = minSdkEnv.toInteger() compileSdkVersion = compileSdkEnv.toInteger() targetSdkVersion = targetSdkEnv.toInteger() def ndkVersionEnv = System.getenv("ANDROID_NDK_VERSION") diff --git a/examples/react-native/devbox.d/android/android.lock b/examples/react-native/devbox.d/android/android.lock index 04848db9..381d7493 100644 --- a/examples/react-native/devbox.d/android/android.lock +++ b/examples/react-native/devbox.d/android/android.lock @@ -1,6 +1,7 @@ { "ANDROID_BUILD_TOOLS_VERSION": "35.0.0", "ANDROID_CMDLINE_TOOLS_VERSION": "19.0", + "ANDROID_MIN_SDK": 24, "ANDROID_COMPILE_SDK": 35, "ANDROID_TARGET_SDK": 35, "ANDROID_SYSTEM_IMAGE_TAG": "google_apis", diff --git a/plugins/android/plugin.json b/plugins/android/plugin.json index 1a3ff9cd..9a7efdc5 100644 --- a/plugins/android/plugin.json +++ b/plugins/android/plugin.json @@ -12,6 +12,7 @@ "ANDROID_SCRIPTS_DIR": "{{ .Virtenv }}/scripts", "ANDROID_RUNTIME_DIR": "{{ .Virtenv }}", "ANDROID_LOCAL_SDK": "0", + "ANDROID_MIN_SDK": "24", "ANDROID_COMPILE_SDK": "36", "ANDROID_TARGET_SDK": "36", "ANDROID_DEFAULT_DEVICE": "max", diff --git a/plugins/android/virtenv/scripts/init/init-hook.sh b/plugins/android/virtenv/scripts/init/init-hook.sh index cc2254b5..6d615a28 100755 --- a/plugins/android/virtenv/scripts/init/init-hook.sh +++ b/plugins/android/virtenv/scripts/init/init-hook.sh @@ -40,6 +40,7 @@ VIRTENV_DEVICES_LOCK="${VIRTENV_DIR}/devices.lock" CONFIG_KEYS=( "ANDROID_LOCAL_SDK" + "ANDROID_MIN_SDK" "ANDROID_COMPILE_SDK" "ANDROID_TARGET_SDK" "ANDROID_DEFAULT_DEVICE" diff --git a/plugins/android/virtenv/scripts/platform/drift.sh b/plugins/android/virtenv/scripts/platform/drift.sh index ddb21869..8d025225 100644 --- a/plugins/android/virtenv/scripts/platform/drift.sh +++ b/plugins/android/virtenv/scripts/platform/drift.sh @@ -6,6 +6,7 @@ readonly ANDROID_CONFIG_VARS=( "ANDROID_BUILD_TOOLS_VERSION" "ANDROID_CMDLINE_TOOLS_VERSION" + "ANDROID_MIN_SDK" "ANDROID_COMPILE_SDK" "ANDROID_TARGET_SDK" "ANDROID_SYSTEM_IMAGE_TAG" diff --git a/plugins/android/virtenv/scripts/user/devices.sh b/plugins/android/virtenv/scripts/user/devices.sh index e54976f2..9e8164df 100755 --- a/plugins/android/virtenv/scripts/user/devices.sh +++ b/plugins/android/virtenv/scripts/user/devices.sh @@ -265,6 +265,7 @@ android_generate_android_lock() { jq -n \ --arg build_tools "${ANDROID_BUILD_TOOLS_VERSION:-36.1.0}" \ --arg cmdline_tools "${ANDROID_CMDLINE_TOOLS_VERSION:-19.0}" \ + --arg min_sdk "${ANDROID_MIN_SDK:-24}" \ --arg compile_sdk "${ANDROID_COMPILE_SDK:-36}" \ --arg target_sdk "${ANDROID_TARGET_SDK:-36}" \ --arg system_image_tag "${ANDROID_SYSTEM_IMAGE_TAG:-google_apis}" \ @@ -275,6 +276,7 @@ android_generate_android_lock() { '{ ANDROID_BUILD_TOOLS_VERSION: $build_tools, ANDROID_CMDLINE_TOOLS_VERSION: $cmdline_tools, + ANDROID_MIN_SDK: ($min_sdk | tonumber), ANDROID_COMPILE_SDK: ($compile_sdk | tonumber), ANDROID_TARGET_SDK: ($target_sdk | tonumber), ANDROID_SYSTEM_IMAGE_TAG: $system_image_tag, @@ -288,6 +290,7 @@ android_generate_android_lock() { jq -n \ --arg build_tools "${ANDROID_BUILD_TOOLS_VERSION:-36.1.0}" \ --arg cmdline_tools "${ANDROID_CMDLINE_TOOLS_VERSION:-19.0}" \ + --arg min_sdk "${ANDROID_MIN_SDK:-24}" \ --arg compile_sdk "${ANDROID_COMPILE_SDK:-36}" \ --arg target_sdk "${ANDROID_TARGET_SDK:-36}" \ --arg system_image_tag "${ANDROID_SYSTEM_IMAGE_TAG:-google_apis}" \ @@ -299,6 +302,7 @@ android_generate_android_lock() { '{ ANDROID_BUILD_TOOLS_VERSION: $build_tools, ANDROID_CMDLINE_TOOLS_VERSION: $cmdline_tools, + ANDROID_MIN_SDK: ($min_sdk | tonumber), ANDROID_COMPILE_SDK: ($compile_sdk | tonumber), ANDROID_TARGET_SDK: ($target_sdk | tonumber), ANDROID_SYSTEM_IMAGE_TAG: $system_image_tag,