Android Studio. I'm not actually building an Android app, at all, ever. Instead, I build with a stand-alone toolchain, and link that into a command-line test harness which I run in the ADB shell.
My development and testing devices are permanently connected to the Linux machines I use for building and testing.
All of my building is done with the tools from the standalone toolchain, and I don't use Gradle, CMake, or any other tools supplied with Android Studio: I'm building code which has its own build system, and the standalone toolchain is the easy way to plug Android tools into that. I'm only supporting one ABI, 64-bit ARM, so I only need one toolchain.
In the NDK r19 release notes, I see:
Issue 780:
Standalone
toolchains are now unnecessary. Clang, binutils, the sysroot,
and other toolchain pieces are now all installed to
$NDK/toolchains/llvm/prebuilt/<host-tag>
and Clang
will automatically find them.
I have two questions about this:
Can I copy $NDK/toolchains/llvm/prebuilt/<host-tag> and its subdirectories out of there, and put them elsewhere? I do that with my current standalone toolchain, and put it on server disk so that all my Linux build machines can see and use the same copy of the toolchain. I'm quite keen to carry on organizing it that way, and not to use up server disk space with a copy of Android Studio that I will never use.
Presumably I now need to specify the Android API level and STL explicitly in my compile command lines? Until now, I've just used the "clang" script that building a standalone toolchain created for me, which put those options on the command line automatically,