-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Open
Description
Breaking changes
-
Android NDK 26 will be removed from all supported images.
-
Android NDK 27 will be used by default on all supported images.
-
Our support police for Android will be changed
from:
- 1 latest non-LTS, 2 latest LTS versionsto:
- 3 NDK versions - two of them are latest (whether stable or LTS), i.e. N and N-1 - third one is the latest LTS version before (and including) N-2 release
Target date
Image deployment will start on Monday January 12th, 2026 and will take about 3 days.
The motivation for the changes
The change follows a new Android NDK support policy aimed at keeping images up to date while balancing disk space limitations.
Possible impact
Projects that depend on Android NDK 26 will stop working.
Platforms affected
- Azure DevOps
- GitHub Actions
Runner images affected
- Ubuntu 22.04
- Ubuntu 24.04
- Ubuntu Slim
- macOS 14
- macOS 14 Arm64
- macOS 15
- macOS 15 Arm64
- macOS 26 Arm64
- Windows Server 2019
- Windows Server 2022
- Windows Server 2025
Mitigation ways
If your project requires it, you can install Android NDK 26 at runtime and set the necessary variables, for example for GitHub Actions:
env:
NDK_VERSION: "26.1.10909125"
jobs:
build:
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Configure Android env (macOS/Linux)
if: runner.os != 'Windows'
shell: bash
run: |
echo "ANDROID_HOME=$ANDROID_SDK_ROOT" >> "$GITHUB_ENV"
echo "ANDROID_SDK_HOME=$RUNNER_TEMP/android-home" >> "$GITHUB_ENV"
echo "ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/${NDK_VERSION}" >> "$GITHUB_ENV"
echo "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin" >> "$GITHUB_PATH"
- name: Configure Android env (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
Add-Content $env:GITHUB_ENV "ANDROID_HOME=$env:ANDROID_SDK_ROOT"
Add-Content $env:GITHUB_ENV "ANDROID_SDK_HOME=$env:RUNNER_TEMP\android-home"
Add-Content $env:GITHUB_ENV "ANDROID_NDK_HOME=$env:ANDROID_SDK_ROOT\ndk\${{ env.NDK_VERSION }}"
Add-Content $env:GITHUB_PATH "$env:ANDROID_SDK_ROOT\cmdline-tools\latest\bin"
- name: Install NDK via preinstalled sdkmanager (macOS/Linux)
if: runner.os != 'Windows'
shell: bash
run: |
sdkmanager "ndk;${NDK_VERSION}"
test -d "$ANDROID_SDK_ROOT/ndk/${NDK_VERSION}"
- name: Install NDK via preinstalled sdkmanager (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
sdkmanager "ndk;$env:NDK_VERSION"
if (!(Test-Path "$env:ANDROID_SDK_ROOT\ndk\$env:NDK_VERSION")) {
throw "NDK $env:NDK_VERSION not found"
}