@@ -9,21 +9,47 @@ QT_MAJOR=$(shell echo $(QT_VERSION) | cut -d. -f1)
99# arm: armeabi-v7a
1010# x86_64: x86_64
1111# x86: x86
12- ARCH? =$(shell uname -m)
12+ ARCH? =arm64
13+
14+ # Use the same pre-built Docker image as CI (see ci/Jenkinsfile.android)
15+ DOCKER_IMAGE := harbor.status.im/status-im/status-desktop-build:1.0.6-qt$(QT_VERSION ) -android
16+
17+ # Map architecture to Android ABI
18+ ifeq ($(ARCH ) , arm64)
19+ ANDROID_ABI := arm64-v8a
20+ else ifeq ($(ARCH), arm)
21+ ANDROID_ABI := armeabi-v7a
22+ else
23+ ANDROID_ABI := x86_64
24+ endif
25+
26+ # Package type (apk or aab)
27+ PACKAGE_TYPE? =apk
1328
1429$(TARGET ) : $(STATUS_DESKTOP_NIM_FILES ) $(STATUS_DESKTOP_UI_FILES ) $(STATUS_Q_FILES ) $(STATUS_Q_UI_FILES ) $(STATUS_GO_FILES ) $(DOTHERSIDE_FILES ) $(OPENSSL_FILES ) $(QRCODEGEN_FILES ) $(WRAPPER_APP_FILES )
15- @echo " Building GitHub task $( TARGET) for architecture $( ARCH) "
16- act -j android-build --container-architecture linux/amd64 --artifact-server-path $(BIN_PATH ) -W .github/workflows/android-build.yml --input architecture=$(ARCH ) --input qt_version=$(QT_VERSION ) -r
17- @unzip -o $(BIN_PATH ) /1/$(TARGET_PREFIX ) /$(TARGET_PREFIX ) .zip -d $(BIN_PATH )
18- touch $(TARGET )
30+ @echo " Building $( TARGET) for architecture $( ARCH) using Docker image $( DOCKER_IMAGE) "
31+ @mkdir -p $(BIN_PATH )
32+ @docker run --rm \
33+ --platform linux/amd64 \
34+ --entrypoint=" " \
35+ -v $(ROOT_DIR ) /..:/home/jenkins/workspace/status-desktop \
36+ -w /home/jenkins/workspace/status-desktop/mobile \
37+ -e ARCH=$(ARCH ) \
38+ -e ANDROID_ABI=$(ANDROID_ABI ) \
39+ -e QT_VERSION=$(QT_VERSION ) \
40+ -e PACKAGE_TYPE=$(PACKAGE_TYPE ) \
41+ -e MAKEFLAGS=" -j$$ (nproc) V=0" \
42+ $(DOCKER_IMAGE ) \
43+ make ARCH=$(ARCH ) PACKAGE_TYPE=$(PACKAGE_TYPE )
44+ @echo " Build completed: $( TARGET) "
45+ @touch $(TARGET )
1946
2047run : $(TARGET )
21- @echo " Running GitHub task "
48+ @echo " Running $( TARGET ) "
2249 @APP=$(TARGET ) QT_MAJOR=$(QT_MAJOR ) ADB=$(shell which adb) EMULATOR=$(shell which emulator) AVDMANAGER=$(shell which avdmanager) SDKMANAGER=$(shell which sdkmanager) $(RUN_SCRIPT )
2350
2451clean :
25- @echo " Cleaning GitHub task"
26- @docker rm -f $(shell docker ps -a --format '{{.Names}}' | grep Android-Build-APK)
52+ @echo " Cleaning container builds"
2753 @rm -rf $(ROOT_DIR ) /bin $(ROOT_DIR ) /build $(ROOT_DIR ) /lib
2854
2955default : $(TARGET )
0 commit comments