Skip to content

Latest commit

 

History

History
44 lines (42 loc) · 1.51 KB

README.md

File metadata and controls

44 lines (42 loc) · 1.51 KB

ITLab - приложение под Android

Trick to sign app everywhere

A simple tutorial to sign your app on remote build machine

  1. Get your keystore file. For example, key.jks
  2. Convert keystore to .txt file via openssl and base64 tools:
    openssl base64 < `key.jks` | tr -d '\n' | tee keystore.txt

    Linux has this tools preinstalled

  3. Content of keystore.txt use as you want:
    1. Copy to github secrets
    2. Copy to Azure DevOps pipeline variables
    3. Copy somewhere else in a secure place
  4. Parse keystore.txt back
    echo keystore.txt | base64 --decode > keystore.jks
  5. Use keystore.jks as it was in step 1

Build android apk with docker

  1. Set environment variables
    1. Mode keystore.jks file in root folder
    2. Create .env file:
      SIGNING_KEY_ALIAS=set-key-alias-here
      SIGNING_KEY_PASSWORD=set-key-password-here
      SIGNING_STORE_PASSWORD=set-keystore-password-here
  2. Build and run image

    This command uses compose.yaml file with deploy/Dockerfile-release

    docker compose up --build
  3. Check output-release folder for *.apk files
  4. To use debug build task or dev api, you can override CMD command in Dockerfile via docker compose. Example:
    services:
      android-builder:
        build:
          dockerfile: deploy/Dockerfile-release
          context: .
        command: ./gradlew :app:assemble[Prod|Dev]Api[Release|Debug]