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 versions
to:
- 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
Runner images affected
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"
}
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:
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
Runner images affected
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: