@Vogel - there is no reason to do that on CI, but that doesn't mean that you can't do macOS to android ARM64 cross-compilation for development with what I have set up.
The same artifacts that are on the azure instance for Windows can be downloaded and extracted on macOS (its just a zip file). Make sure that you grab the correct component: the android SDK for the architecture that you want (armeabi = armv7, arm64 = aarch64). (I would like to unify them into a single SDK distributable, but that is future work.) You will need to find the Glibc.modulemap
in the SDK and alter the contents such that C:/Microsoft/AndroidNDK64/android-ndk-r16b/
is replaced with the path to the NDK that you installed on macOS (e.g. /opt/AndroidNDK64/android-ndk-r16b
).
After that, the same set of instructions would apply to developing on macOS or Windows. Note that the same could also be applied for Linux.
That is the reason that I have setup the builds as I have. There are three components:
- toolchain
- the tools that you use to build
- SDK
- the resources needed to develop for the target, in the future will also contain host dependent tools
- runtime
- the resources that need to be distributed to end users to run the applications themselves
In order to write programs for android, you will need all three components. The first component is shared across all the various target that you may be interested in working on. For running previously built programs you would need only the last component.
Eventually, the only thing that you will gain by using these builds on Windows will be a much smoother experience as I intend to have a proper installer to make the workflow simply be download and run the installer.
If there really is interest in using a prebuilt macOS toolchain from the same sources (probably a good idea), I can look into setting up a macOS build as well. If someone else wants to help set that up, that would definitely be welcome help (as well as a toolchain for Linux).