bitcoin/depends/packages
Wladimir J. van der Laan 23b15601df
Merge #17227: Qt: Add Android packaging support
246774e264 depends: fix Qt precompiled headers bug (Igor Cota)
8e7ad4146d depends: disable Qt Vulkan support on Android (Igor Cota)
ba46adaa1a CI: add Android APK build to cirrus (Igor Cota)
7563720e30 CI: add Android APK build script (Igor Cota)
ebfb10cb75 Qt: add Android packaging support (Igor Cota)

Pull request description:

  ![bitcoin-qt](https://user-images.githubusercontent.com/762502/67396157-62f3d000-f5a7-11e9-8a6f-9425823fcd6c.gif)
  This PR is the third and final piece of the basic Android support puzzle - it depends on https://github.com/bitcoin/bitcoin/pull/16110 and is related to https://github.com/bitcoin/bitcoin/pull/16883. It introduces an `android` directory under `qt` and a simple way to build an Android package of `bitcoin-qt`:

  1. Build depends for Android as described in the [README](https://github.com/bitcoin/bitcoin/blob/master/depends/README.md)
  2. Configure with one of the resulting prefixes
  3. Run `make && make apk` in `src/qt`

  The resulting APK files will be in `android/build/outputs/apk`. You can install them manually or with [adb](https://developer.android.com/studio/command-line/adb). One can also open the `android` directory in Android Studio for that integrated development and debugging experience. `BitcoinQtActivity` is your starting point.

  Under the hood makefile `apk` target:

  1. Renames the `bitcoin-qt` binary to `libbitcoin-qt.so` and copies it over to a folder under `android/libs` depending on which prefix and corresponding [ABI](https://developer.android.com/ndk/guides/abis.html#sa) `bitcoin-qt` was built for
  2. Takes `libc++_shared.so` from the Android NDK and puts in the same place. It [must be included](https://developer.android.com/ndk/guides/cpp-support) in the APK
  3. Extracts Qt for Android Java support files from the `qtbase` archive in `depends/sources` to `android/src`

  There is also just a tiny bit of `ifdef`'d code to make the Qt Widgets menus usable. It's not pretty but it works and is a stepping stone towards https://github.com/bitcoin/bitcoin/pull/16883.

ACKs for top commit:
  MarcoFalke:
    cr ACK 246774e264
  laanwj:
    Code review ACK 246774e264

Tree-SHA512: ba30a746576a167545223c35a51ae60bb0838818779fc152c210f5af1413961b2a6ab6af520ff92cbc8dcd5dcb663e81ca960f021218430c1f76397ed4cead6c
2021-03-24 19:02:01 +01:00
..
bdb.mk Android : Ensure pic build for bdb 2020-12-04 01:57:54 +02:00
boost.mk build: don't build or use Boost Thread 2021-02-02 12:38:22 +08:00
capnp.mk depends: add MULTIPROCESS depends option 2020-05-12 09:47:06 -04:00
expat.mk build: pass --enable-option-checking to applicable packages 2019-10-11 13:31:50 -04:00
fontconfig.mk build: use patch rather than sed in fontconfig package 2020-08-25 14:37:35 +08:00
freetype.mk build: pass --enable-option-checking to applicable packages 2019-10-11 13:31:50 -04:00
libevent.mk build: pass _WIN32_WINNT=0x0601 when building libevent for Windows 2020-06-30 13:25:09 +08:00
libmultiprocess.mk depends: add MULTIPROCESS depends option 2020-05-12 09:47:06 -04:00
libnatpmp.mk build: compile libnatpmp with -DNATPMP_STATICLIB on Windows 2021-03-04 12:34:46 +08:00
libXau.mk build: pass --enable-option-checking to applicable packages 2019-10-11 13:31:50 -04:00
libxcb.mk build: qt 5.12.10 2021-03-10 12:57:22 +08:00
libxkbcommon.mk build: Cleanup libxkbcommon_postprocess_cmds 2021-03-12 14:51:10 +02:00
miniupnpc.mk build: miniupnpc 2.2.2 2021-03-23 08:39:16 +08:00
native_b2.mk depends: boost: Split into non-/native packages 2020-11-23 15:50:54 -05:00
native_capnp.mk depends: add MULTIPROCESS depends option 2020-05-12 09:47:06 -04:00
native_cctools.mk Revert "Add patch to make codesign_allocate compatible with Apple's" 2021-01-04 16:35:18 -08:00
native_ds_store.mk depends: native_ds_store 1.3.0 2020-11-11 08:01:02 +08:00
native_libdmg-hfsplus.mk depends: Use $($(package)_cmake) instead of cmake 2020-08-07 20:52:22 -04:00
native_libmultiprocess.mk depends: add MULTIPROCESS depends option 2020-05-12 09:47:06 -04:00
native_mac_alias.mk build: mac_alias 2.1.1 2020-11-30 15:39:09 +08:00
packages.mk build: revert to using Qts internal zlib 2021-03-10 12:57:26 +08:00
qrencode.mk Merge #16110: depends: Add Android NDK support 2019-11-04 13:32:19 +01:00
qt.mk Merge #17227: Qt: Add Android packaging support 2021-03-24 19:02:01 +01:00
sqlite.mk Add sqlite to travis and depends 2020-10-14 11:18:13 -04:00
xcb_proto.mk depends: don't configure xcb_proto 2019-12-08 17:55:11 -05:00
xproto.mk build: pass --enable-option-checking to applicable packages 2019-10-11 13:31:50 -04:00
zeromq.mk depends: build zeromq with -std=c++17 2020-11-24 10:18:06 +08:00