mirror of
https://github.com/Catfriend1/syncthing-android.git
synced 2025-09-11 21:43:23 +08: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
- Download https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe
- Install
- logoff
- Relogon
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
- From inside the checked out syncthing-android repository, run:
git submodule init; git submodule update
- Actual build:
docker run --rm -v /tmp/syncthing-android:/mnt syncthing-android-builder ./gradlew buildNative assembleDebug
- Retrieve APKs from ./app/build/outputs