Skrypt kompilacji ndk

Skrypt ndk-build tworzy projekty wykorzystujące kompilację opartą na modelu NDK systemu. Istnieje bardziej szczegółowa dokumentacja Android.mk i Użyta konfiguracja Application.mk autor: ndk-build.

Wewnętrzne

Uruchomienie skryptu ndk-build jest równoważne uruchomieniu następującego polecenia:

$GNUMAKE -f <ndk>/build/core/build-local.mk
<parameters>

$GNUMAKE wskazuje GNU Make 3.81 lub nowszą wersję oraz <ndk> wskazuje katalog instalacyjny NDK. Za pomocą te informacje do wywołania polecenia ndk-build za pomocą innych skryptów powłoki, a nawet własnych tworzyć pliki.

Wywołaj z wiersza poleceń

Skrypt ndk-build znajduje się w katalogu instalacyjnym NDK najwyższego poziomu. Aby go uruchomić: z wiersza poleceń, wywołaj go w katalogu projektu aplikacji lub pod nim. Na przykład:

$ cd <project>
$ <ndk>/ndk-build

W tym przykładzie <project> wskazuje katalogu głównego projektu, a <ndk> to katalog, w którym Pakiet NDK został zainstalowany.

Opcje

Wszystkie parametry do polecenia ndk-build są przekazywane bezpośrednio do bazy GNU make uruchamiające skrypty kompilacji NDK. Połącz: ndk-build i w formacie ndk-build <option>. Na przykład:

$ ndk-build clean

Są tu dostępne następujące ustawienia:

clean
Usuń wcześniej wygenerowane pliki binarne.

Uwaga: w systemie Mac OS X: ndk-build clean z duża liczba wykonań równoległych może spowodować błąd kompilacji, który zawiera następujący komunikat:

rm: fts_read: No such file or directory

Aby uniknąć tego problemu, nie używaj: -jN lub wybór mniejszej wartości parametru N, np. 2.

V=1
uruchamiać i wyświetlać polecenia kompilacji;
-B
Wymuś pełną odbudowę.
-B V=1
Wymuś pełną przebudowę i wyświetl polecenia kompilacji.
NDK_LOG=1
Wyświetl komunikaty wewnętrznego dziennika NDK (używane do debugowania samego NDK).
NDK_DEBUG=1
Wymuś kompilację możliwą do debugowania (patrz tabela 1).
NDK_DEBUG=0
Wymuś kompilację wersji (patrz tabela 1).
NDK_HOST_32BIT=1
Zawsze używaj łańcucha narzędzi w trybie 32-bitowym.
NDK_APPLICATION_MK=<file>
Kompiluj przy użyciu konkretnego pliku Application.mk wskazywanego przez klucz NDK_APPLICATION_MK.
-C <project>
Utwórz kod natywny dla ścieżki projektu znajdującej się pod adresem <project> Przydatny, jeśli nie chcesz cd do terminala.

Kompilacje do debugowania a kompilacje do wersji

Użyj opcji NDK_DEBUG, a w niektórych przypadkach: AndroidManifest.xml, aby określić kompilację do debugowania lub wersji; zachowań związanych z optymalizacją i uwzględnienia symboli. Tabela 1 przedstawia dla każdej możliwej kombinacji ustawień.

Tabela 1. Wyniki funkcji NDK_DEBUG (wiersz poleceń) i Kombinacje: android:debuggable (plik manifestu).

Ustawienie pliku manifestuNDK_DEBUG=0 NDK_DEBUG=1Nie określono NDK_DEBUG
android:debuggable="true" debugowanie; symbole; Zoptymalizowana*1 debugowanie; symbole; Bez optymalizacji*2 (tak samo jak NDK_DEBUG=1)
android:debuggable="false"Wydanie; symbole; Zoptymalizowany Wydanie; symbole; Brak optymalizacjiWydanie; Bez symboli; Zoptymalizowana*3
*1: Przydatne do profilowania.
*2: wartość domyślna w przypadku uruchamiania ndk-gdb.
*3: tryb domyślny.

Uwaga: „NDK_DEBUG=0” jest odpowiednikiem funkcji `APP_OPTIM=release` i kompiluje się z wartością -O2. „NDK_DEBUG=1” jest odpowiednikiem funkcji `APP_OPTIM=debug` w `Application.mk` i kompiluje się z `-O0`. Więcej informacji o `APP_OPTIM`: Plik Application.mk.

Składnia wiersza poleceń:

$ ndk-build NDK_DEBUG=1

Wymagania

Do korzystania z programu ndk-build lub programu NDK potrzebujesz programu GNU Make 4. Do NDK należą: mieć własną kopię programu GNU Make. Będzie jej używać, chyba że ustawisz $GNUMAKE zmienną środowiskową wskazującą na nieodpowiednią markę.

Bazy danych kompilacji JSON

W NDK r18 i nowszych wersjach ndk-build może wygenerować Baza danych JSON.

Do wygenerowania bazy danych możesz użyć polecenia ndk-build compile_commands.json bez tworzenia kodu lub ndk-build GEN_COMPILE_COMMANDS_DB=true, jeśli dla których chcesz stworzyć i wygenerować bazę danych jako efekt uboczny.