From dd94f11c8eb923fa3988b2acbc6eca68201fed67 Mon Sep 17 00:00:00 2001 From: Ryan VanderMeulen Date: Tue, 7 Oct 2025 22:10:11 -0400 Subject: [PATCH] Update NDK to r29 --- CHANGELOG.md | 5 +++++ .../support/rc_crypto/nss/nss_build_common/src/lib.rs | 6 +++--- docs/building.md | 2 +- settings.gradle | 2 +- taskcluster/docker/linux/Dockerfile | 2 +- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e3852dac9d..5fcce8a3d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # v146.0 (In progress) +## 🦊 What's Changed 🦊 + +### Android +- Upgraded NDK from r28c to r29. ([#7014](https://github.com/mozilla/application-services/pull/7014)) + [Full Changelog](In progress) # v145.0 (_2025-10-13_) diff --git a/components/support/rc_crypto/nss/nss_build_common/src/lib.rs b/components/support/rc_crypto/nss/nss_build_common/src/lib.rs index e098a0bebb..95452d115b 100644 --- a/components/support/rc_crypto/nss/nss_build_common/src/lib.rs +++ b/components/support/rc_crypto/nss/nss_build_common/src/lib.rs @@ -92,13 +92,13 @@ fn link_nss_libs(kind: LinkingKind) { let target_arch = env::var("CARGO_CFG_TARGET_ARCH").unwrap(); if target_arch == "x86_64" && target_os == "android" { let android_home = env::var("ANDROID_HOME").expect("ANDROID_HOME not set"); - const ANDROID_NDK_VERSION: &str = "28.2.13676358"; + const ANDROID_NDK_VERSION: &str = "29.0.14206865"; // One of these will exist, depending on the host platform. const DARWIN_X86_64_LIB_DIR: &str = - "/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/19/lib/linux/"; + "/toolchains/llvm/prebuilt/darwin-x86_64/lib/clang/21/lib/linux/"; println!("cargo:rustc-link-search={android_home}/ndk/{ANDROID_NDK_VERSION}/{DARWIN_X86_64_LIB_DIR}"); const LINUX_X86_64_LIB_DIR: &str = - "/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/19/lib/linux/"; + "/toolchains/llvm/prebuilt/linux-x86_64/lib/clang/21/lib/linux/"; println!("cargo:rustc-link-search={android_home}/ndk/{ANDROID_NDK_VERSION}/{LINUX_X86_64_LIB_DIR}"); println!("cargo:rustc-link-lib=static=clang_rt.builtins-x86_64-android"); } diff --git a/docs/building.md b/docs/building.md index ba9697fba8..6a0cd14475 100644 --- a/docs/building.md +++ b/docs/building.md @@ -107,7 +107,7 @@ The following instructions assume that you are building `application-services` f 1. Set `ANDROID_SDK_ROOT` and `ANDROID_HOME` to the Android Studio sdk location and add it to your rc file (either `.zshrc` or `.bashrc` depending on the shell you use for your terminal). 1. Configure the required versions of NDK `Configure menu > System Settings > Android SDK > SDK Tools > NDK > Show Package Details > NDK (Side by side)` - - 28.2.13676358 (required by Application Services, [as configured](https://github.com/mozilla/application-services/blob/main/build.gradle#L33)) + - 29.0.14206865 (required by Application Services, [as configured](https://github.com/mozilla/application-services/blob/main/build.gradle#L33)) 1. If you are on Windows using WSL - drop to the section below, [Windows setup for Android (WSL)](building.md#windows-setup-for-android-via-wsl) before proceeding. 1. Check dependencies, environment variables diff --git a/settings.gradle b/settings.gradle index 34feca4cdd..04bd9e9692 100644 --- a/settings.gradle +++ b/settings.gradle @@ -186,7 +186,7 @@ gradle.projectsLoaded { -> 36, // compileSdkVersion, 26, // minSdkVersion, 36, // targetSdkVersion, - "28.2.13676358", // ndkVersion - Keep it in sync in TC Dockerfile. + "29.0.14206865", // ndkVersion - Keep it in sync in TC Dockerfile. ) } } diff --git a/taskcluster/docker/linux/Dockerfile b/taskcluster/docker/linux/Dockerfile index 407c5d4e0d..4064773de2 100644 --- a/taskcluster/docker/linux/Dockerfile +++ b/taskcluster/docker/linux/Dockerfile @@ -22,7 +22,7 @@ WORKDIR /builds/worker/ ENV ANDROID_BUILD_TOOLS "36.0.0" ENV ANDROID_TOOLS_VERSION "13114758" ENV ANDROID_PLATFORM_VERSION "36" -ENV ANDROID_NDK_VERSION "28.2.13676358" +ENV ANDROID_NDK_VERSION "29.0.14206865" # Set up the language variables to avoid problems (we run locale-gen later). ENV LANG en_US.UTF-8