ndk-build komut dosyası, NDK'nın Yapma tabanlı derlemesini kullanan projeler oluşturur
bahsedeceğim. Bu programla ilgili daha spesifik belgeler var.
Android.mk ve
Kullanılan Application.mk yapılandırması
ndk-build tarafından.
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 3.81 veya sonraki bir sürüme işaret eder ve
<ndk>, NDK yükleme dizininizi işaret eder. Tekliflerinizi otomatikleştirmek ve optimize etmek için
diğer kabuk komut dosyalarından veya kendi kabuk komut dosyalarınızdan ndk-build'i çağırmak için bu bilgileri
dosyalar oluşturabilirsiniz.
Komut satırından çağırma
ndk-build komut dosyası, üst düzey NDK yükleme dizininde bulunur. Çalıştırmak için
komut satırından, uygulama proje dizininizde veya uygulamanızın altındayken çağırın.
Örnek: 
$ cd <project> $ <ndk>/ndk-build
Bu örnekte <project>,
kök dizinini, <ndk> ise dizinin kök dizinini temsil eder.
NDK'yı yüklediniz.
Seçenekler
ndk-build'teki tüm parametreler doğrudan temel alınan GNU'ya (make) iletilir
komutudur. ndk-build ile birleştir
seçenekleri de ndk-build <option> biçimindedir. Örnek: 
$ ndk-build clean
Aşağıdaki seçenekleri kullanabilirsiniz:
- 
    clean
- .
    Önceden oluşturulmuş ikili programları kaldırın.
    Not: Mac OS X'te, ndk-build cleansürümünü paralel yürütme sayısının yüksek olması, aşağıdaki mesajı içerir:rm: fts_read: No such file or directory Bu sorunu önlemek için -jNözelliğini kullanmamayı düşünebilirsiniz değiştiricisi kullanabilir veyaNiçin daha küçük bir değer (ör. 2) seçebilirsiniz.
- 
    V=1
- . Derlemeyi başlatma ve derleme komutlarını görüntüleme
- 
    -B
- . Tamamen yeniden oluşturmayı zorunlu kıl.
- 
    -B V=1
- . Tamamen 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örüntüle (NDK'nın kendisinde hata ayıklamak için kullanılır).
- 
    NDK_DEBUG=1
- . Hata ayıklaması yapılabilir bir derlemeyi zorunlu kılın (tablo 1'e bakın).
- 
    NDK_DEBUG=0
- . Bir sürüm derlemesini zorunlu kılın (1. tablo'ya bakın).
- 
    NDK_HOST_32BIT=1
- . Araç zincirini her zaman 32 bit modunda kullanın.
- 
    NDK_APPLICATION_MK=<file>
- .
    Application.mkNDK_APPLICATION_MKdeğişkeni.
- 
    -C <project>
- .
    Şu adreste bulunan proje yolu için yerel kodu derleyin:
    <project>.cdistemiyorsanız kullanışlıdır kullanabilirsiniz.
Hata ayıklanabilir derleme ile sürüm derlemelerinin karşılaştırması
NDK_DEBUG seçeneğini kullanın ve belirli durumlarda
Hata ayıklamayı veya sürüm derlemesini belirtmek için AndroidManifest.xml
optimizasyonla ilgili davranış ve simgelerin dahil edilmesiyle ilgilidir. Tablo 1,
sonuçlarını gösterir.
Tablo 1. NDK_DEBUG (komut satırı) ve
android:debuggable (manifest) kombinasyon.
| Manifest Ayarı | NDK_HATA AYIKLAMA=0 | NDK_HATA AYIKLAMA=1 | NDK_DEBUG belirtilmedi | 
|---|---|---|---|
| android:debuggable="doğru" | Hata ayıkla; Semboller Optimize edilmiş*1 | Hata ayıkla; Semboller Optimize edilmemiş*2 | (NDK_DEBUG=1 ile aynı) | 
| android:debuggable="false" | Sürüm; Semboller Optimize edilmiş | Sürüm; Semboller Optimize edilmedi | Sürüm; Simge yok; Optimize edilmiş*3 | 
. *2:
ndk-gdb çalıştırmak için varsayılandır.. *3: Varsayılan mod.
Not: "NDK_DEBUG=0", "APP_OPTIM=release" ile başlar ve "-O2" ile derlenir. "NDK_DEBUG=1", "Application.mk"deki "APP_OPTIM=debug" dosyasıdır ve "-O0" ile derlenir. "APP_OPTIM" hakkında daha fazla bilgi için bkz. Application.mk.
Komut satırındaki söz dizimi, örneğin:
$ ndk-build NDK_DEBUG=1
Gereksinimler
Genel olarak ndk-build veya NDK'yı kullanmak için GNU Make 4'e ihtiyacınız var. NDK,
GNU Make'nin sahibidir ve $GNUMAKE özelliğini ayarlamadığınız sürece bunu kullanır.
ortam değişkeninin uygunsuz bir markaya işaret etmesinin önüne geçilir.
JSON derleme veritabanları
NDK r18 ve daha yeni sürümlerde ndk-build, JSON derleme veritabanı.
Veritabanı oluşturmak için ndk-build compile_commands.json kullanabilirsiniz
kod oluşturmadan ndk-build GEN_COMPILE_COMMANDS_DB=true
oluşturmak istiyorsunuz.
