build: android: upgrade docker base img to debian 13
What changed, and why it matters
This commit updates the Android build environment from Debian 12 (bookworm) to Debian 13 (trixie). It changes the Docker base image, package sources, Java version, and some library package names to match the new Debian release. There is no indication of a security fix or vulnerability being addressed.
No security action required. Treat as normal build maintenance; verify Android builds succeed and reproducibility is preserved.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch upgrades the Android build container base image from debian:bookworm to debian:trixie, updates the pinned snapshot.debian.org sources to a trixie snapshot, switches openjdk-17-jdk-headless to openjdk-21-jdk-headless, removes software-properties-common, replaces libncurses5-dev/libncursesw5-dev/libtinfo5 with libncurses-dev, and updates freeze_containers_distro.sh accordingly. This is a routine build infrastructure maintenance change.
Changed components
contrib/android/Dockerfilecontrib/android/apt.sources.listcontrib/freeze_containers_distro.shInspect captured patch +6 / −9
diff --git a/contrib/android/Dockerfile b/contrib/android/Dockerfile
index 57419a4..a7c8d90 100644
--- a/contrib/android/Dockerfile
+++ b/contrib/android/Dockerfile
@@ -1,6 +1,6 @@
# based on https://github.com/kivy/python-for-android/blob/master/Dockerfile
-FROM debian:bookworm@sha256:d568e251e460295a8743e9d5ef7de673c5a8f9027db11f4e666e96fb5bed708e
+FROM debian:trixie@sha256:a3b5f4f0286249a124bfe9845b3aec0f88de32ff31dd8d7e1b945f9f98d116b0
ENV DEBIAN_FRONTEND=noninteractive
@@ -94,7 +94,7 @@ RUN mkdir --parents "${ANDROID_SDK_HOME}/.android/" \
# accept Android licenses (JDK necessary!)
RUN apt -y update -qq \
&& apt -y install -qq --no-install-recommends --allow-downgrades \
- openjdk-17-jdk-headless \
+ openjdk-21-jdk-headless \
&& apt -y autoremove
RUN yes | ${ANDROID_SDK_MANAGER} --licenses > /dev/null
@@ -138,7 +138,6 @@ RUN apt -y update -q \
lbzip2 \
patch \
sudo \
- software-properties-common \
git \
zip \
unzip \
@@ -150,9 +149,7 @@ RUN apt -y update -q \
libtool \
pkg-config \
zlib1g-dev \
- libncurses5-dev \
- libncursesw5-dev \
- libtinfo5 \
+ libncurses-dev \
cmake \
libffi-dev \
libssl-dev \
diff --git a/contrib/android/apt.sources.list b/contrib/android/apt.sources.list
index b1a8f89..db248cc 100644
--- a/contrib/android/apt.sources.list
+++ b/contrib/android/apt.sources.list
@@ -1,2 +1,2 @@
-deb https://snapshot.debian.org/archive/debian/20250530T143637Z/ bookworm main
-deb-src https://snapshot.debian.org/archive/debian/20250530T143637Z/ bookworm main
+deb https://snapshot.debian.org/archive/debian/20260129T082333Z/ trixie main
+deb-src https://snapshot.debian.org/archive/debian/20260129T082333Z/ trixie main
diff --git a/contrib/freeze_containers_distro.sh b/contrib/freeze_containers_distro.sh
index 132f817..cc19f7d 100755
--- a/contrib/freeze_containers_distro.sh
+++ b/contrib/freeze_containers_distro.sh
@@ -7,7 +7,7 @@ set -e
DEBIAN_SNAPSHOT_BASE="https://snapshot.debian.org/archive/debian/"
DEBIAN_APPIMAGE_DISTRO="bullseye" # should match build-linux/appimage Dockerfile base
DEBIAN_WINE_DISTRO="bookworm" # should match build-wine Dockerfile base
-DEBIAN_ANDROID_DISTRO="bookworm" # should match android Dockerfile base
+DEBIAN_ANDROID_DISTRO="trixie" # should match android Dockerfile base
contrib="$(dirname "$0")"
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.