Files
status-app/mobile

Status Mobile Build System

This repository contains the build system for Status Mobile, supporting both iOS and Android platforms with Qt6 compatibility. Cross-compilation is currently supported on MacOs and Linux. Windows is not supported. The dev setup runs well on WSL with Windows emulator.

Table of Contents

Quick Start Guide (Container Builds)

This section is for users who want to get up and running quickly with minimal technical setup.

Prerequisites

  • Docker
  • ADB (Android Debug Bridge)
  • Android Emulator

Quick setup - android

  1. Install dependencies:
# macOS
brew install docker --cask
# Start docker
open -a Docker
brew install android-platform-tools android-commandlinetools xcbeautify
# Ubuntu
sudo apt-get update
sudo apt install android-sdk-common

sdkmanager --install \
"build-tools;35.0.1" \
"emulator" \
"platform-tools" \
"platforms;android-35" \
"ndk;27.2.12479018" \
"system-images;android-35;google_apis;arm64-v8a"
  1. Verify installation:
docker --version
adb --version
emulator --version
avdmanager --version
sdkmanager --version
  1. Building the app
make -f mobile/ContainerBuilds.mk
  1. Running the app
# Linux and MacOS
make -f mobile/ContainerBuilds.mk run

What Happens Behind the Scenes

  • The build process uses the same pre-built Docker image as the CI pipeline (harbor.status.im/status-im/status-desktop-build:1.0.6-qt6.9.2-android)
  • All required tools and dependencies (Qt 6.9.2, Android SDK/NDK, Go, Nim) are provided by the container
  • The container runs on linux/amd64 platform for consistency, even on ARM macOS machines
  • The built APK/AAB is available in the mobile/bin/android/qt6/ directory