Files
2025-09-05 16:49:31 +02:00
..
2025-09-05 16:49:31 +02:00

Fresh howto to build with Docker Desktop under WSL 2

Add WSL feature

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Reboot

shutdown -r -t 0

Set WSL version 2

wsl --set-default-version 2

Install Debian Linux

wsl.exe --install debian
wsl.exe -l -v

Install Docker Desktop

Docker Desktop

  • Settings
  • Resources
  • Resources / Advanced
  • Resources / Advanced / Disk image location
%LocalAppData%\docker\wsl
  • Resources / Advanced / WSL integration Enable integration with my default WSL distro
Debian

Docker build step

  • Open "cmd"
cd /d "syncthing-android"

docker build -t syncthing-android-builder:latest -f docker/Dockerfile .
docker run --rm -v "%userprofile%/.android/debug.keystore:/root/.android/debug.keystore:ro" -v .:/mnt syncthing-android-builder:latest ./gradlew buildNative assembleDebug

Container insight

docker run -it --rm syncthing-android-builder bash
du -h -d 1 /
du -h -d 1 /opt
du -h -d 1 /root

Destroy docker container

docker images
docker rmi syncthing-android-builder:latest

How to use this

Create the builder image

From inside the checked out syncthing-android repository, run:

docker build -t syncthing-android-builder:latest -f ./docker/Dockerfile .

Build the app

  1. From inside the checked out syncthing-android repository, run: git submodule init; git submodule update
  2. Actual build: docker run --rm -v /tmp/syncthing-android:/mnt syncthing-android-builder ./gradlew buildNative assembleDebug
  3. Retrieve APKs from ./app/build/outputs