"ndk-build" komut dosyası

ndk-build komut dosyası, NDK'nın Marka tabanlı derleme sistemini kullanan projeler oluşturur. ndk-build tarafından kullanılan Android.mk ve Application.mk yapılandırması için daha özel belgeler mevcuttur.

Dahililer

ndk-build komut dosyasını çalıştırmak, aşağıdaki komutu çalıştırmakla 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 çağrısı yapmak için, hatta kendi yapım dosyalarınızdan yararlanabilirsiniz.

Komut satırından çağır

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

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

Bu örnekte <project>, projenizin kök dizinini, <ndk> ise NDK'yı yüklediğiniz dizindir.

Seçenekler

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

$ ndk-build clean

Aşağıdaki seçenekleri kullanabilirsiniz:

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

Not: ndk-build clean kullanımı Mac OS X'te çok sayıda paralel yürütmeyle aşağıdaki mesajı içeren bir derleme hatasına neden olabilir:

rm: fts_read: No such file or directory

Bu sorunu önlemek istiyorsanız -jN değiştiriciyi kullanmamayı veya N için 2 gibi daha küçük bir değer seçmeyi düşünün.

V=1
Derlemeyi başlatın ve derleme komutlarını görüntüleyin.
-B
Tamamen yeniden derleme yapmaya zorlayın.
-B V=1
Tamamen yeniden derlemeye zorlayın ve derleme komutlarını görüntüleyin.
NDK_LOG=1
Dahili NDK günlük mesajlarını gösterin (NDK'nın kendisinde hata ayıklama için kullanılır).
NDK_DEBUG=1
Hata ayıklaması yapılabilecek bir derleme yapmaya zorlayın (1. tabloya bakın).
NDK_DEBUG=0
Sürüm derlemeye zorlayın (1. tabloya 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 eden belirli bir Application.mk dosyası kullanarak oluşturun.
-C <project>
<project> adresinde bulunan proje yolu için yerel kod oluşturun. Terminalinizde cd yapmak istemiyorsanız kullanışlıdır.

Hata ayıklama ve sürüm derlemeleri

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

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 edildi*1 Hata ayıklama; Semboller; Optimize edilmedi*2 (NDK_DEBUG=1 ile aynıdır)
android:debuggable="false"Yayın; Semboller; Optimize Edilmiş Sürüm; Semboller; Optimize edilmediYayın; sembol yok; Optimize edilmiş*3
*1: Profil oluşturmak için kullanışlıdır.
*2: ndk-gdb'i çalıştırmak için varsayılan ayardır.
*3: Varsayılan mod.

Not: "NDK_DEBUG=0", "APP_OPTIM=sürüm"ün eşdeğeridir ve "-O2" ile derlenir. "NDK_DEBUG=1", "Application.mk"deki "APP_OPTIM=debug" değerinin eşdeğeridir ve "-O0" ile derlenir. OPT.mUygulama hakkında daha fazla bilgi için "app.mk"

Komut satırındaki söz dizimi şöyledir:

$ ndk-build NDK_DEBUG=1

Şartlar

ndk-build veya genel olarak NDK kullanmak için GNU Make 4 gerekir. NDK, GNU Make'in kendi kopyasını içerir ve $GNUMAKE ortam değişkenini uygunsuz bir markaya işaret edecek şekilde ayarlamadığınız sürece bunu kullanır.

JSON derleme veritabanları

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

Kodunuzu oluşturmadan veritabanı oluşturmak için ndk-build compile_commands.json aracını, veritabanını oluşturmak ve yan etki olarak oluşturmak istiyorsanız ndk-build GEN_COMPILE_COMMANDS_DB=true kullanabilirsiniz.