"ndk-build" komut dosyası

ndk-build komut dosyası, NDK'nın Make-based derleme sistemini kullanan projeler oluşturur. ndk-build tarafından kullanılan Android.mk ve Application.mk yapılandırmasıyla ilgili daha ayrıntılı dokümanlar mevcuttur.

Dahililer

ndk-build komut dosyasını çalıştırmak, aşağıdaki komutu çalıştırmaya eşdeğerdir:

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

$GNUMAKE, GNU Make 3.81 veya sonraki bir sürümü, <ndk> ise NDK yükleme dizininizi işaret eder. Bu bilgileri, diğer kabuk komut dosyalarından ndk-build'i, hatta kendi oluşturma dosyalarınızı çağırmak için kullanabilirsiniz.

Komut satırından çağır

ndk-build komut dosyası, üst düzey NDK yükleme dizininde bulunur. Komut satırından çalıştırmak için uygulama projesi dizininizin içinde veya altında çağırın. Örneğin:

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

Bu örnekte <project>, projenizin kök dizinine işaret eder. <ndk> ise NDK'yı yüklediğiniz dizindir.

Seçenekler

ndk-build için tüm parametreler doğrudan NDK derleme komut dosyalarını çalıştıran temel GNU make komutuna iletilir. ndk-build ile seçenekleri ndk-build <option> biçiminde birleştirin. Örneğin:

$ ndk-build clean

Aşağıdaki seçenekleri kullanabilirsiniz:

clean
Önceden oluşturulmuş tüm ikili programları kaldırın.

Not: Mac OS X'te, ndk-build clean'yi çok sayıda paralel yürütme ile çalıştırmak aşağıdaki mesajı içeren bir derleme hatasına neden olabilir:

rm: fts_read: No such file or directory

Bu sorunu önlemek amacıyla -jN değiştiricisini kullanmayın veya N için daha küçük bir değer (ör. 2) seçmeyin.

V=1
Derlemeyi başlatın ve derleme komutlarını görüntüleyin.
-B
Eksiksiz bir yeniden oluşturma işlemini zorunlu kılın.
-B V=1
Tam bir yeniden derlemeyi zorunlu kılın ve derleme komutlarını görüntüleyin.
NDK_LOG=1
Dahili NDK günlük mesajlarını göster (NDK'nın kendisinde hata ayıklamak için kullanılır).
NDK_DEBUG=1
Hata ayıklaması yapılabilecek bir derlemeyi zorlayın (tablo 1'e bakın).
NDK_DEBUG=0
Sürüm derlemesini zorlayın (tablo 1'e bakın).
NDK_HOST_32BIT=1
Araç zincirini her zaman 32 bit modunda kullanın.
NDK_APPLICATION_MK=<file>
NDK_APPLICATION_MK değişkeniyle işaret edilen belirli bir Application.mk dosyası kullanarak oluşturun.
-C <project>
<project> bağlantısındaki proje yolu için yerel kodu oluşturun. Terminalinizde cd yapılmasını istemiyorsanız kullanışlıdır.

Hata ayıklanabilir ve sürüm derlemeleri

Hata ayıklama veya sürüm derlemesini, optimizasyonla ilgili davranışı ve simgelerin dahil edilmesini belirtmek için NDK_DEBUG seçeneğini ve bazı durumlarda AndroidManifest.xml özelliğini kullanın. Tablo 1'de olası her ayar kombinasyonunun sonuçları gösterilmektedir.

Tablo 1. NDK_DEBUG (komut satırı) ve android:debuggable (manifest) kombinasyonlarının sonuçları.

Manifest AyarıNDK_DEBUG=0 NDK_DEBUG=1NDK_DEBUG belirtilmedi
android:debuggable="doğru" Hata ayıklama; Semboller; Optimize edilmiş*1 Hata ayıklama; Semboller; Optimize edilmemiş*2 (NDK_DEBUG=1 ile aynı)
android:debuggable="yanlış"Sürüm; Semboller; Optimize Edilmiş Sürüm; Semboller; Optimize edilmemişSürüm; Simge yok; Optimize edilmiş*3
*1: Profil çıkarma için kullanışlıdır.
*2: ndk-gdb çalıştırmak için varsayılandır.
*3: Varsayılan mod.

Not: "NDK_DEBUG=0", "APP_OPTIM=version" işlevine eş değerdir ve "-O2" ile derlenir. "NDK_DEBUG=1", "Application.mk"deki "APP_OPTIM=debug" işlevinin eşdeğeridir ve "-OIM" ile derlenir. OPTmk hakkında daha fazla bilgi uygulama.

Komut satırındaki söz dizimi, örneğin:

$ ndk-build NDK_DEBUG=1

Şartlar

Genel olarak ndk-build veya NDK'yı kullanmak için GNU Make 4 sürümüne ihtiyacınız vardır. NDK, kendi GNU Make kopyasını içerir ve $GNUMAKE ortam değişkenini uygun olmayan bir markaya işaret edecek şekilde ayarlamadığınız sürece bunu kullanır.

JSON derleme veritabanları

NDK r18 ve daha yeni sürümlerde ndk-build, bir JSON derleme veritabanı oluşturabilir.

Kodunuzu derlemeden veritabanını oluşturmak için ndk-build compile_commands.json kullanabilir veya veritabanını yan etki olarak oluşturup oluşturmak istiyorsanız ndk-build GEN_COMPILE_COMMANDS_DB=true kullanabilirsiniz.