Android-Entwicklung: NDK r21 wird das erste Release mit Langzeit-Support

Das Native Development Kit für die hardwarenahe Android-Entwicklung soll künftig jährlich mit Long-term Support erscheinen.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
Android-Entwicklung: NDK r21 wird das erste LTS-Release
Lesezeit: 3 Min.
Von
  • Rainald Menge-Sonnentag

Google hat die Betaphase für Version 21 des Android NDK (Native Development Kit) gestartet. Das Toolset zur hardwarenahen Entwicklung auf dem mobilen Betriebssystem mit C beziehungsweise C++ bekommt mit r21 das erste Release mit Long-term Support (LTS). Außerdem setzt es sowohl auf der Zielplattform als auch auf dem Entwicklersystem rein auf 64-Bit.

Das NDK r21 wird das erste LTS-Release sein, und künftig soll jährlich jeweils im vierten Jahresquartal eine frische LTS-Variante erscheinen. Das bedeutet zum einen, dass Google dafür Bugfixes und Backports jeweils bis zum nächsten Release mit längerem Support veröffentlichen wird. Zum anderen sind damit längere Betaphasen im Vorfeld verbunden. Zwischendurch sind weiterhin etwa im Dreimonatsrhythmus reguläre "rolling" Releases vorgesehen.

Hinsichtlich der technischen Neuerungen bekommt das jüngste Android-NDK-Release vor allem Anbindung an aktualisierte Werkzeuge. GNU Make ist nun in Version 4.2 vorgesehen, und der Debugger GDB ist in Version 8.3 an Bord. Die LLVM-Toolchain ist auf dem Stand vom Juli 2019, die unter anderem OpenMP als dynamische Library bietet und auch standardmäßig verwendet. Wer die Schnittstelle für die Shared-Memory-Programmierung weiterhin statisch linken möchte, muss explizit den Parameter --static-openmp verwenden.

Im Zusammenspiel mit der CMake-Toolchain ist die Analyse über Fortify standarmäßig aktiviert. Damit erkennt der Compiler einige Bugs und bricht mit einer Fehlermeldung ab. So reagiert Fortify beim Kompilieren folgenden Codes aus dem Android-Blog:

const char src[] = "this string is too long";
char dst[10];
strcpy(dst, src);

mit folgender Fehlermeldung:

t.cpp:10:18: error: 'strcpy' called with string bigger than buffer
strcpy(dst, src);
^

Seit August müssen neue Apps zur Aufnahme in Google Play – abgesehen von wenigen Ausnahmen – in einer 64-Bit-Variante verfügbar sein. Das gilt freilich auch für mit dem NDK erstellte Anwendungen. Außerdem erstellt die Toolchain standardmäßig Code, der auf die ARM-Befehlssatzerweiterung Neon ausgelegt ist, da noch wenige Android-Endgeräte ohne Neon-Unterstützung existieren. Entwickler können aber für diese Zielgruppe explizit Neon deaktivieren.

Auch auf der Entwicklerworkstation muss neuerdings zwingend ein 64-Bit-System vorliegen. Die Anpassung betrifft ohnehin nur die verbleibenden Nutzer der 32-Bit-Variante von Windows. Für Android Studio und den Android Emulator hatte Google die Anbindung an 32-Bit-Windows bereits im Juni aufgekündigt. Beide Tools lassen sich ohne 64-Bit-Betriebssystem nur mehr in veralteten Releases verwenden.

Weitere Details zum Android NDK r21 lassen sich dem Android-Entwicklerblog entnehmen. Eine Anleitung zum Installieren und Konfigurieren des NDK ist in der Android-Studio-Dokumentation zu finden. (rme)