From f6d932bd37a60a1c4a102221869e6d714fd856aa Mon Sep 17 00:00:00 2001 From: Bhagirath Mehta Date: Mon, 8 Jun 2026 15:20:05 -0500 Subject: [PATCH] Bump Android externalNativeBuild CMake from 3.10.2 to 3.22.1 CMake 3.10.2 is the legacy Google-forked CMake, deprecated as the Android Gradle Plugin default and no longer guaranteed to be installed by the SDK Manager. 3.22.1 is the modern upstream-based CMake that already ships with the pinned NDK 27. Update every place that pins or installs the externalNativeBuild CMake so the Gradle pin and the installed SDK CMake stay in sync: - lib/android_build/{maesdk,app}/build.gradle: externalNativeBuild version - .github/workflows/build-android.yml, codeql-analysis.yml: sdkmanager install - .github/workflows/test-android-mac.yml.off (disabled): cmake input - build-android.cmd, tools/build-android-aar.sh: default version + help text - docs/cpp-start-android.md: documented default The maesdk native CMakeLists keeps cmake_minimum_required(VERSION 3.10.2) as its compatibility floor; only the CMake tool version used to build is bumped. Refs #1095. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .github/workflows/build-android.yml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/test-android-mac.yml.off | 2 +- build-android.cmd | 2 +- docs/cpp-start-android.md | 2 +- lib/android_build/app/build.gradle | 2 +- lib/android_build/maesdk/build.gradle | 2 +- tools/build-android-aar.sh | 4 ++-- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml index 9e07f3280..1235e8dc7 100644 --- a/.github/workflows/build-android.yml +++ b/.github/workflows/build-android.yml @@ -58,7 +58,7 @@ jobs: java -version gci env:* | sort-object name new-item "$Env:USERPROFILE\.android\repositories.cfg" -ItemType "file" - echo yes | sdkmanager "ndk-bundle" "cmake;3.10.2.4988404" "ndk;27.0.12077973" --sdk_root=$Env:ANDROID_SDK_ROOT + echo yes | sdkmanager "ndk-bundle" "cmake;3.22.1" "ndk;27.0.12077973" --sdk_root=$Env:ANDROID_SDK_ROOT - name: Chocolatey run: | choco install --no-progress -y ninja diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 74c630cc0..db7b4870a 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -118,7 +118,7 @@ jobs: java -version gci env:* | sort-object name new-item "$Env:USERPROFILE\.android\repositories.cfg" -ItemType "file" - echo yes | sdkmanager "ndk-bundle" "cmake;3.10.2.4988404" "ndk;27.0.12077973" --sdk_root=$Env:ANDROID_SDK_ROOT + echo yes | sdkmanager "ndk-bundle" "cmake;3.22.1" "ndk;27.0.12077973" --sdk_root=$Env:ANDROID_SDK_ROOT - name: Chocolatey run: | choco install --no-progress -y ninja diff --git a/.github/workflows/test-android-mac.yml.off b/.github/workflows/test-android-mac.yml.off index 96e17c4a5..2d05e3d39 100644 --- a/.github/workflows/test-android-mac.yml.off +++ b/.github/workflows/test-android-mac.yml.off @@ -37,7 +37,7 @@ jobs: with: api-level: 29 ndk: 21.1.6352462 - cmake: 3.10.2.4988404 + cmake: 3.22.1 working-directory: ./lib/android_build script: ./testandlog - name: Upload diff --git a/build-android.cmd b/build-android.cmd index c09f311aa..add5f03d8 100644 --- a/build-android.cmd +++ b/build-android.cmd @@ -5,7 +5,7 @@ REM Users may override the default %ANDROID_SDK_ROOT% location if necessary if "%ANDROID_SDK_ROOT%" == "" set "ANDROID_SDK_ROOT=C:\Android\android-sdk" if "%ANDROID_NDK_VERSION%" == "" set "ANDROID_NDK_VERSION=27.0.12077973" -if "%ANDROID_CMAKE_VERSION%" == "" set "ANDROID_CMAKE_VERSION=3.10.2.4988404" +if "%ANDROID_CMAKE_VERSION%" == "" set "ANDROID_CMAKE_VERSION=3.22.1" if "%ANDROID_HOME%" == "" set "ANDROID_HOME=%ANDROID_SDK_ROOT%" if "%ANDROID_NDK%" == "" set "ANDROID_NDK=%ANDROID_SDK_ROOT%\ndk\%ANDROID_NDK_VERSION%" if "%ANDROID_NDK_HOME%" == "" set "ANDROID_NDK_HOME=%ANDROID_NDK%" diff --git a/docs/cpp-start-android.md b/docs/cpp-start-android.md index c50b66c90..0f979bcda 100644 --- a/docs/cpp-start-android.md +++ b/docs/cpp-start-android.md @@ -23,7 +23,7 @@ Default environment variables used by `build-android.cmd` script: ```console set "ANDROID_NDK_VERSION=27.0.12077973" -set "ANDROID_CMAKE_VERSION=3.10.2.4988404" +set "ANDROID_CMAKE_VERSION=3.22.1" set "ANDROID_SDK_ROOT=C:\Android\android-sdk" set "ANDROID_HOME=%ANDROID_SDK_ROOT%" set "ANDROID_NDK=%ANDROID_SDK_ROOT%\ndk\%ANDROID_NDK_VERSION%" diff --git a/lib/android_build/app/build.gradle b/lib/android_build/app/build.gradle index 9c5bbadf3..28417a2c5 100644 --- a/lib/android_build/app/build.gradle +++ b/lib/android_build/app/build.gradle @@ -27,7 +27,7 @@ android { externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" - version "3.10.2" + version "3.22.1" } } compileOptions { diff --git a/lib/android_build/maesdk/build.gradle b/lib/android_build/maesdk/build.gradle index 0567582ec..714dac0df 100644 --- a/lib/android_build/maesdk/build.gradle +++ b/lib/android_build/maesdk/build.gradle @@ -59,7 +59,7 @@ android { externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" - version "3.10.2" + version "3.22.1" } } } diff --git a/tools/build-android-aar.sh b/tools/build-android-aar.sh index 055ae2fdd..8ace0f78c 100755 --- a/tools/build-android-aar.sh +++ b/tools/build-android-aar.sh @@ -14,7 +14,7 @@ set -euo pipefail # - Requires ANDROID_SDK_ROOT (or ANDROID_HOME) when installing NDK. ANDROID_NDK_VERSION_DEFAULT="27.0.12077973" -CMAKE_VERSION_DEFAULT="3.10.2.4988404" +CMAKE_VERSION_DEFAULT="3.22.1" INSTALL_NDK=0 CLEAN=0 @@ -29,7 +29,7 @@ Build MAESDK Android AAR locally. Options: --install-ndk Install the pinned NDK + CMake via sdkmanager. --ndk-version Override NDK version (default: 27.0.12077973). - --cmake-version Override CMake version (default: 3.10.2.4988404). + --cmake-version Override CMake version (default: 3.22.1). --output-dir Output directory (default: /dist/android-aar). --clean Run a clean build (gradle clean). -h, --help Show help.