Update Android min NDK version to 23.x?

Michael Weghorn m.weghorn at posteo.de
Wed Jan 25 13:14:41 UTC 2023

For the Android build, configure.ac currently checks for a minimum NDK 
version of 16.x and the Jenkins builds use 20.1.5948944 (s. 
distro-configs/Jenkins/android_common.conf ).

In the context of adding support for newer NDKs, I would like to update 
the minimum version to 23.x to avoid the complexity that would be needed 
to support older versions in parallel.

Updating to NDK 23 would among others allow using lld for linking 
liblo-native-code.so, which significantly reduces the time for linking 
in debug builds (~40s -> ~10s for me for an x86 build) and also fixes an 
error I get for 64-bit-ARM debug builds (for which I had a local 
workaround so far, s. https://gerrit.libreoffice.org/c/core/+/130947 ).

AFAICT, this should have no impact on runtime requirements/supported 
devices, since NDK 23 still supports API 16 (Android 4.1).

Suggested changes in Gerrit:

(Changes further up the relation chain are for supporting NDK 24 and 25 
as well.)

In addition to the above changes, installing the corresponding NDK for 
all Android builders is needed, don't know about additional custom 
config for android builders beyond above-mentioned 
distro-configs/Jenkins/android_common.conf )

Clang version for NDK 23.2.8568313 which is the one that I used for 
testing and that https://gerrit.libreoffice.org/c/core/+/146118 would 
currently switch the Jenkins builds to):

> $ ~/Android/Sdk/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --version
> Android (8481493, based on r416183c2) clang version 12.0.9 (https://android.googlesource.com/toolchain/llvm-project c935d99d7cf2016289302412d708641d52d2f7ee)
> Target: x86_64-unknown-linux-gnu
> Thread model: posix
> InstalledDir: /home/michi/Android/Sdk/ndk/23.2.8568313/toolchains/llvm/prebuilt/linux-x86_64/bin

Are there any thoughts/concerns on that?
(I plan to bring up that topic in tomorrow's ESC call as well.)

More information about the LibreOffice mailing list