Standalone Toolchain for Android NDK in Docker
Or stand for short, is different versions of the Android NDK packaged in a container as a standalone toolchain.
The Android NDK is a bit of a beast sizewise, since it comes batteries included, bundling all architectures and a range of platforms for each release.
At the time of writing, the current release, r16, weighs in at 800M/2.9G zipped and unzipped respectively.
Typically you might only need a single platform version for a single architecture, so lugging all that extra stuff along is a bit excessive.
With a stand container, only a single specific toolchain for a platform and architecture is bundled, saving some much valued space and bandwidth.
Each version is tagged according to the following naming convention:
The double dash is a bit of an eyesore, but since docker tags can only contain underscores, periods and dashes as special characters, and since toolchain names contain a mix of all three, this is a necessary evil.
E.g. to pull an
arm container for platform
android-21 from the
docker pull rhardih/stand:r10e--android-21--arm-linux-androideabi-4.9
In the container, the toolchain is located at the root, e.g.:
Android platform api level
|Code name||Version||API level|
|Pie||9||API level 28|
|Oreo||8.1.0||API level 27|
|Oreo||8.0.0||API level 26|
|Nougat||7.1||API level 25|
|Nougat||7.0||API level 24|
|Marshmallow||6.0||API level 23|
|Lollipop||5.1||API level 22|
|Lollipop||5.0||API level 21|
E.g. android-21, is the platform to choose for building for Android 5.0.
The full list can be found here:
In case a certain combination of NDK version, platform version and toolchain is not currently available on Docker Hub, you can use this small companion site, to trigger a new build:
Once you've triggered a build, go grab a cup of coffee and wait till Travis is done building and subsequently pushing the new image to Docker Hub.
Check the tags on https://hub.docker.com/r/rhardih/stand/tags after the build is done.
If all went well, the new image should be tagged and listed amongst the others.
Please note that the use the Android NDK is subject to the Terms and Conditions laid forth by Google. For the full text, please see: