A simple tutorial to sign your app on remote build machine
- Get your keystore file. For example,
key.jks
- Convert keystore to
.txt
file viaopenssl
andbase64
tools:openssl base64 < `key.jks` | tr -d '\n' | tee keystore.txt
Linux has this tools preinstalled
- Content of
keystore.txt
use as you want:- Copy to github secrets
- Copy to Azure DevOps pipeline variables
- Copy somewhere else in a secure place
- Parse
keystore.txt
backecho keystore.txt | base64 --decode > keystore.jks
- Use
keystore.jks
as it was in step 1
- Set environment variables
- Mode
keystore.jks
file in root folder - Create
.env
file:SIGNING_KEY_ALIAS=set-key-alias-here SIGNING_KEY_PASSWORD=set-key-password-here SIGNING_STORE_PASSWORD=set-keystore-password-here
- Mode
- Build and run image
This command uses
compose.yaml
file withdeploy/Dockerfile-release
docker compose up --build
- Check
output-release
folder for*.apk
files - To use
debug
build task ordev api
, you can overrideCMD
command in Dockerfile viadocker compose
. Example:services: android-builder: build: dockerfile: deploy/Dockerfile-release context: . command: ./gradlew :app:assemble[Prod|Dev]Api[Release|Debug]