• Twitter
  • Instagram
  • slack-icon-black_edited_edited_edited
  • development_düzenlendi_düzenlendi
  • Gri LinkedIn Simge

© 2020 by mobiler.dev

Android NDK Nedir & NDK r21 beta !

NDK Nedir ve Neden Kullanılmalı ?


NDK, var olan C/C++ kütüphanelerinizi kullanarak native android uygulaması yazmanızı sağlayan bir API'dir. Peki neden C/C++ kütüphanelerine ihtiyaç duyalım ?

  • Var olan hazır kütüphaneleri kullanmak: Java'da bulunmayan C/C++'da yazılmış hazır kütüphaneleri(boost, SDL, GDAL, OpenGL, vb) kullanmak isteyebilirsiniz.

  • Yüksek performans sağlamak ve yüksek performans API'lerine ihtiyaç duymak: C/C++ ile uygulama geliştirmek yüksek performans kazanımı sağlayabileceği için CPU bağımlı android uygulamanızda ihtiyaç duyabilirsiniz. OpenGL ES ve Vulkan alt yapısına sahip API'ler NDK ile sunulmaktadır.


NDK r21beta ?


Yeni NDK ile güvenlik ve performans iyileştirmeleri üzerinde çalışıldı.

Yeni beta sürüm ile birlikte Long Term Support (LTS) süreci de duyuruldu. Artık yeni sürümler daha uzun süreli beta sürecinden geçirilecek. Karalı bir versiyon isteyen yazılımcılar her yılın 4.çeyreğinde release edilecek yeni sürüm ile uzun süre aynı NDK versiyonunu kullanabilecekler. Yeni kararlı sürüm yayınlanana kadar beta üzerinde fixler yayınlanacak. Bulguların takibi ve derecelendirmelerini izlemek için api'nin github linkini inceleyebilirsiniz.


Yeni beta ile birlikte Windows Android Studio 32-bit sürümü desteklenmeyecek. Linux kullanıcılarının da glibc 2.17 ve üstü versiyona sahip olmaları gerekiyor.


  • Hata mesajlarındaki çıktı senkronizasyonunu sağlayan GNU Make 4.2 versiyonuna yükseltildi ve default build versiyonu olarak tanımlandı.

  • Windows'daki pesky CreateProcess hatası düzeltildi.

  • Modern Intel CPU'larında debug fixlerini içeren GDB 8.3 versiyonu yayınlandı.

  • LLVM ve tüm componentleri güncellendi (Clang, lld, libc++, etc)

  • Toolchain r36563'ya yükseltildi. Böylece LLD, Windows'ta multithreaded linking'de artık kilitlenmiyor.

  • OpenMP dinamik bir kütüphaneye çevrildi. Static runtime'a bağlı kalmak için static-openmp kullanmalısınız.

  • libc ++, r369764 olarak güncellendi.

  • Fortify ndk-build veya CMake toolchain dosyasını kullanırken default olarak etkin hale getirildi (ExternalNativeBuild kullanıcılarını içerecek şekilde). Fortify, standart kütüphanede bugları daha erken yakalamanıza ve güvenlik sorunlarını azaltmanıza yardımcı olabilecek ek kontroller sağlayacak. Derleyicinin compile işlemi sırasında tespit edemediği runtime'da ortaya çıkan bug'lar derleme zamanında tespit edilebilecek. Ancak ndk-build veya CMake dışında bir derleme sistemi kullanıyorsanız, bu kontrolü etkinleştirmek için _FORTIFY_SOURCE'u 2 olarak tanımlamanız yeterli olacaktır.


NDK road map için: https://android.googlesource.com/platform/ndk/+/master/docs/Roadmap.md

Package management için:

https://github.com/android/ndk/issues/916

Better CMake integration için: https://github.com/android/ndk/issues/463



detaylı link: https://android-developers.googleblog.com/2019/10/introducing-ndk-r21-our-first-long-term.html

ref: https://www.yazilimperver.com/index.php/2018/01/04/android-ndk-ile-ugrasirken-dikkat-edilecekler/


#android #NDK21 #NDK

105 görüntüleme