mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 23:09:44 -04:00
doc: Update documentation for Android builds
This commit is contained in:
parent
b136afd990
commit
fec1a7029a
3 changed files with 49 additions and 1 deletions
|
@ -34,8 +34,11 @@ Common `host-platform-triplet`s for cross compilation are:
|
||||||
- `riscv32-linux-gnu` for Linux RISC-V 32 bit
|
- `riscv32-linux-gnu` for Linux RISC-V 32 bit
|
||||||
- `riscv64-linux-gnu` for Linux RISC-V 64 bit
|
- `riscv64-linux-gnu` for Linux RISC-V 64 bit
|
||||||
- `s390x-linux-gnu` for Linux S390X
|
- `s390x-linux-gnu` for Linux S390X
|
||||||
|
- `armv7a-linux-android` for Android ARM 32 bit
|
||||||
|
- `aarch64-linux-android` for Android ARM 64 bit
|
||||||
|
- `x86_64-linux-android` for Android x86 64 bit
|
||||||
|
|
||||||
The paths are automatically configured and no other options are needed.
|
The paths are automatically configured and no other options are needed unless targeting [Android](../doc/build-android.md).
|
||||||
|
|
||||||
### Install the required dependencies: Ubuntu & Debian
|
### Install the required dependencies: Ubuntu & Debian
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ The following are developer notes on how to build Bitcoin Core on your native pl
|
||||||
- [FreeBSD Build Notes](build-freebsd.md)
|
- [FreeBSD Build Notes](build-freebsd.md)
|
||||||
- [OpenBSD Build Notes](build-openbsd.md)
|
- [OpenBSD Build Notes](build-openbsd.md)
|
||||||
- [NetBSD Build Notes](build-netbsd.md)
|
- [NetBSD Build Notes](build-netbsd.md)
|
||||||
|
- [Android Build Notes](build-android.md)
|
||||||
|
|
||||||
Development
|
Development
|
||||||
---------------------
|
---------------------
|
||||||
|
|
44
doc/build-android.md
Normal file
44
doc/build-android.md
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
# Android Build Guide
|
||||||
|
|
||||||
|
This guide describes how to build and package the `bitcoin-qt` GUI for Android on Linux and macOS.
|
||||||
|
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
Before proceeding with an Android build one needs to get the [Android SDK](https://developer.android.com/studio) and use the "SDK Manager" tool to download the NDK and one or more "Platform packages" (these are Android versions and have a corresponding API level).
|
||||||
|
|
||||||
|
Qt 6.7.3 used in depends supports Android NDK version is [r26b (26.1.10909125)](https://github.com/android/ndk/wiki/Changelog-r26).
|
||||||
|
|
||||||
|
In order to build `ANDROID_API_LEVEL` (API level corresponding to the Android version targeted, e.g. Android 9.0 Pie is 28 and its "Platform package" needs to be available) needs to be set.
|
||||||
|
|
||||||
|
Qt 6.7.3 used in depends supports API levels from 26 to 34.
|
||||||
|
|
||||||
|
When building [depends](../depends/README.md), additional variables `ANDROID_SDK` and `ANDROID_NDK` need to be set.
|
||||||
|
|
||||||
|
This is an example command for a default build with no disabled dependencies:
|
||||||
|
|
||||||
|
gmake HOST=aarch64-linux-android ANDROID_SDK=/home/user/Android/Sdk ANDROID_NDK=/home/user/Android/Sdk/ndk/26.1.10909125 ANDROID_API_LEVEL=34
|
||||||
|
|
||||||
|
|
||||||
|
## Building and packaging
|
||||||
|
|
||||||
|
After the depends are built configure, build and create an Android Application Package (APK) as follows (based on the example above):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cmake -B build --toolchain depends/aarch64-linux-android/toolchain.cmake
|
||||||
|
cmake --build build --target apk_package # Use "-j N" for N parallel jobs.
|
||||||
|
```
|
||||||
|
|
||||||
|
The APKs will be available in the following directory:
|
||||||
|
```bash
|
||||||
|
$ tree build/src/qt/android/build/outputs/apk
|
||||||
|
build/src/qt/android/build/outputs/apk
|
||||||
|
├── debug
|
||||||
|
│ ├── android-debug.apk
|
||||||
|
│ └── output-metadata.json
|
||||||
|
└── release
|
||||||
|
├── android-release-unsigned.apk
|
||||||
|
└── output-metadata.json
|
||||||
|
|
||||||
|
3 directories, 4 files
|
||||||
|
```
|
Loading…
Add table
Reference in a new issue