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 veyaN
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 birApplication.mk
dosyası kullanarak oluşturun. -
-C <project>
-
<project>
bağlantısındaki proje yolu için yerel kodu oluşturun. Terminalinizdecd
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.
Manifest Ayarı | NDK_DEBUG=0 | NDK_DEBUG=1 | NDK_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 |
*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.