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ı veyaN
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 birApplication.mk
dosyası kullanarak oluşturun. -
-C <project>
-
<project>
adresinde bulunan proje yolu için yerel kod oluşturun. Terminalinizdecd
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=1 | NDK_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 edilmedi | Yayın; sembol yok; Optimize edilmiş*3 |
*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.