Skip to content

File tree

6 files changed

+55
-1
lines changed

6 files changed

+55
-1
lines changed

.cirrus.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,3 +393,26 @@ task:
393393
- cp src/qt/android/build/outputs/apk/debug/android-debug.apk ${CIRRUS_WORKING_DIR}/unsecure_android.apk
394394
unsecure_android_apk_artifacts:
395395
path: "unsecure_android.apk"
396+
397+
task:
398+
name: 'ARM32 Android APK [jammy]'
399+
alias: android32
400+
<< : *CONTAINER_DEPENDS_TEMPLATE
401+
container:
402+
docker_arguments:
403+
CI_IMAGE_NAME_TAG: ubuntu:jammy
404+
FILE_ENV: "./ci/test/00_setup_env_android32.sh"
405+
<< : *CREDITS_TEMPLATE
406+
android_sdk_cache:
407+
folder: "depends/SDKs/android"
408+
fingerprint_key: "ANDROID_API_LEVEL=28 ANDROID_BUILD_TOOLS_VERSION=28.0.3 ANDROID_NDK_VERSION=23.2.8568313"
409+
depends_sources_cache:
410+
folder: "depends/sources"
411+
fingerprint_script: git rev-parse HEAD:depends/packages
412+
<< : *MAIN_TEMPLATE
413+
env:
414+
<< : *CIRRUS_EPHEMERAL_WORKER_TEMPLATE_ENV
415+
copy_artifacts_script:
416+
- cp src/qt/android/build/outputs/apk/debug/android-debug.apk ${CIRRUS_WORKING_DIR}/unsecure_android_32bit.apk
417+
unsecure_android_32bit_apk_artifacts:
418+
path: "unsecure_android_32bit.apk"

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,5 @@ Links for Windows and macOS build artifacts. Replace <PR> with the assigned pull
4949
[![Intel macOS](https://img.shields.io/badge/OS-Intel%20macOS-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/macos/unsecure_mac_gui.zip?branch=pull/<PR>)
5050
[![Apple Silicon macOS](https://img.shields.io/badge/OS-Apple%20Silicon%20macOS-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/macos_arm64/unsecure_mac_arm64_gui.zip?branch=pull/<PR>)
5151
[![ARM64 Android](https://img.shields.io/badge/OS-Android-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/android/unsecure_android_apk.zip?branch=pull/<PR>)
52+
[![ARM32 Android](https://img.shields.io/badge/OS-Android%2032bit-green)](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/android32/unsecure_android_32bit_apk.zip?branch=pull/<PR>)
5253
-->

ci/test/00_setup_env_android32.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env bash
2+
#
3+
# Copyright (c) 2023 The Bitcoin Core developers
4+
# Distributed under the MIT software license, see the accompanying
5+
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
6+
7+
export LC_ALL=C.UTF-8
8+
9+
export HOST=armv7a-linux-android
10+
export PACKAGES="unzip openjdk-8-jdk gradle"
11+
export CONTAINER_NAME=ci_android
12+
export CI_IMAGE_NAME_TAG="ubuntu:jammy"
13+
14+
export RUN_UNIT_TESTS=false
15+
export RUN_FUNCTIONAL_TESTS=false
16+
17+
export ANDROID_API_LEVEL=28
18+
export ANDROID_BUILD_TOOLS_VERSION=28.0.3
19+
export ANDROID_NDK_VERSION=23.2.8568313
20+
export ANDROID_TOOLS_URL=https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip
21+
export ANDROID_HOME="${DEPENDS_DIR}/SDKs/android"
22+
export ANDROID_NDK_HOME="${ANDROID_HOME}/ndk/${ANDROID_NDK_VERSION}"
23+
export DEP_OPTS="ANDROID_SDK=${ANDROID_HOME} ANDROID_NDK=${ANDROID_NDK_HOME} ANDROID_API_LEVEL=${ANDROID_API_LEVEL} ANDROID_TOOLCHAIN_BIN=${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/"
24+
25+
export BITCOIN_CONFIG="--disable-tests --enable-gui-tests --disable-bench --disable-fuzz-binary --without-utils --without-libs --without-daemon"

configure.ac

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -818,12 +818,15 @@ case $host in
818818
case $host in
819819
*x86_64*)
820820
ANDROID_ARCH=x86_64
821+
NDK_LIBCXX_DIR=x86_64-linux-android
821822
;;
822823
*aarch64*)
823824
ANDROID_ARCH=arm64-v8a
825+
NDK_LIBCXX_DIR=aarch64-linux-android
824826
;;
825827
*armv7a*)
826828
ANDROID_ARCH=armeabi-v7a
829+
NDK_LIBCXX_DIR=arm-linux-androideabi
827830
;;
828831
*) AC_MSG_ERROR([Could not determine Android arch, or it is unsupported]) ;;
829832
esac
@@ -1969,6 +1972,7 @@ AC_SUBST(HAVE_BUILTIN_PREFETCH)
19691972
AC_SUBST(HAVE_MM_PREFETCH)
19701973
AC_SUBST(HAVE_STRONG_GETAUXVAL)
19711974
AC_SUBST(ANDROID_ARCH)
1975+
AC_SUBST(NDK_LIBCXX_DIR)
19721976
AC_SUBST(HAVE_EVHTTP_CONNECTION_GET_PEER_CONST_CHAR)
19731977
AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist test/config.ini])
19741978
AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh])

src/Makefile.qt.include

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ QT_BASE_TLD = $(shell tar tf $(QT_BASE_PATH) --exclude='*/*')
518518

519519
bitcoin_qt_apk: FORCE
520520
mkdir -p $(APK_LIB_DIR)
521-
cp $(dir $(lastword $(CC)))../sysroot/usr/lib/$(host_alias)/libc++_shared.so $(APK_LIB_DIR)
521+
cp $(dir $(lastword $(CC)))../sysroot/usr/lib/$(NDK_LIBCXX_DIR)/libc++_shared.so $(APK_LIB_DIR)
522522
tar xf $(QT_BASE_PATH) -C qt/android/src/ $(QT_BASE_TLD)src/android/jar/src --strip-components=5
523523
tar xf $(QT_BASE_PATH) -C qt/android/src/ $(QT_BASE_TLD)src/android/java/src --strip-components=5
524524
patch -i ../depends/patches/qt/fix_android_get_drawable.patch qt/android/src/org/qtproject/qt5/android/QtActivityDelegate.java

src/qml/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Unsecure CI artifacts are available for local testing of the master branch, avoi
99
- for Intel macOS: [`unsecure_mac_gui.zip`](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/macos/unsecure_mac_gui.zip)
1010
- for Apple Silicon macOS: [`unsecure_mac_arm64_gui.zip`](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/macos_arm64/unsecure_mac_arm64_gui.zip)
1111
- for ARM64 Android: [`unsecure_android_apk.zip`](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/android/unsecure_android_apk.zip)
12+
- for ARM32 Android: [`unsecure_android_32bit_apk.zip`](https://api.cirrus-ci.com/v1/artifact/github/bitcoin-core/gui-qml/android32/unsecure_android_32bit_apk.zip)
1213

1314
Note: For Apple Silicon macOS machines, the binary must be signed before it can
1415
be ran. To apply a signature, run the following on the unzipped CI artifact:

0 commit comments

Comments
 (0)