C ve C++ kodunu Android projenize eklemek için kodu bir
Proje modülünüzde cpp
dizini. Projenizi oluştururken
kodu, Gradle'ın uygulamanızla birlikte paketleyebileceği bir yerel kitaplıkta derlenir.
Böylece Java veya Kotlin kodunuz yerel kitaplığınızdaki işlevleri çağırabilir
. JNI'yi kullanma hakkında daha fazla bilgi edinmek için
hakkında daha fazla bilgi için
Android.
Android Studio, platformlar arası projeler için kullanışlı olan CMake'i destekler.
Android Studio, ndk-build
'i de destekler.
CMake'den daha hızlı olabilir, ancak yalnızca Android'i destekler. Hem CMake hem de
Aynı modülde ndk-build
şu anda desteklenmiyor.
Mevcut bir ndk-build
kitaplığını Android Studio'ya aktarmak için
projenizin farklı yönleri için
Gradle'ı yerel kitaplık projenize bağlayın.
Bu sayfada, Android Studio'yu gerekli geliştirme araçlarını, C/C++ ile yeni proje oluşturma desteği ve projenize yeni C/C++ dosyaları ekleyin.
Bunun yerine mevcut bir projeye yerel kod eklemek isterseniz şu adımları uygulayın:
-
Yeni yerel kaynak dosyaları oluşturun ve
dosyalarını Android Studio projenize ekleyebilirsiniz.
- Yerel kodunuz varsa veya Önceden oluşturulmuş yerel bir kitaplığı içe aktarın.
-
CMake'i şunun için yapılandırın:
yerel kaynak kodunuzu bir kitaplıkta derleyin. Bu derleme komut dosyası gerekli
Önceden oluşturulmuş platformlara veya platforma göre içe aktarıyor ve bağlantı oluşturuyorsanız
kitaplıklar.
- Halihazırda
CMakeLists.txt
derleme komut dosyası veyandk-build
kullanıyor ve şunları içeriyor birAndroid.mk
komut dosyası oluşturamıyorsanız bu adımı atlayın.
- Halihazırda
-
Yapılandır
CMake veya
ndk-build
için bir yol sağlayarak Gradle komut dosyası olarak da kullanabilirsiniz. Gradle, derleme komut dosyasını kullanarak kaynak kodunu Android Studio projesi oluşturun ve yerel kitaplığınızı uygulamaya paketleyin.
Projenizi yapılandırdıktan sonra yerel işlevlerinize şuradan erişin:
JNI çerçevesini kullanan Java veya Kotlin kodu. Uygulamanızı geliştirip çalıştırmak için
Çalıştır'ı tıklayın.
Not: Mevcut projenizde desteği sonlandırılmış
ndkCompile
aracını kullanıyorsanız, CMake veya
ndk-build
.
NDK'yı indirin ve araç derleyin
Uygulamanızın yerel kodunu derlemek ve hata ayıklamak için aşağıdakilere ihtiyacınız vardır: bileşenler:
- Android Yerel Geliştirme Kiti (NDK): C ve C++ kodunu Android NDK, yerel reklamları yönetmenize olanak tanıyan platform kitaplıkları sağlar etkinlikler ve sensörler ile dokunma gibi fiziksel cihaz bileşenlerine erişme giriş.
-
CMake:
yerel geliştirmenizi oluşturmak için Gradle ile birlikte çalışan harici derleme aracı
kitaplığını açar. Yalnızca kullanmayı planlıyorsanız bu bileşene ihtiyacınız yoktur
ndk-build
- LLDB: Android Studio'da yerel kodda hata ayıklayan hata ayıklayıcı.
Bu bileşenleri yükleme hakkında bilgi edinmek için NDK ve CMake'i yükleme ve yapılandırma başlıklı makaleye bakın.
C/C++ desteği ile yeni bir proje oluşturma
Yerel kod desteğiyle yeni bir proje oluşturma süreci şuna benzer: başka bir Android cihazda Studio projesi, ancak ek bir adımla:
- Sihirbazın Projenizi seçin bölümünde, Yerel C++ proje türünü seçin.
- İleri'yi tıklayın.
- Sihirbazın bir sonraki bölümündeki diğer tüm alanları tamamlayın.
- İleri'yi tıklayın.
-
Sihirbazın Chrome (C++) Desteğini Özelleştirme bölümünde
C++ Standard alanına girin.
- Açılır listeyi kullanarak kullanmak istediğiniz C++ standartlaştırmasını seçin. Araç Zinciri Seçme Varsayılan seçeneği, varsayılan CMake ayarını kullanır.
- Son'u tıklayın.
Android Studio yeni projenizi oluşturmayı tamamladıktan sonra, IDE'nin sol tarafındaki Proje bölmesini Android görünümünü seçin. Şekil 1'de gösterildiği gibi, Android Studio, cpp grubunu ekler:
Şekil 1. Yerel kaynaklarınız için Android görüntüleme grupları ve harici derleme komut dosyalarıdır.
Not: Bu görünüm, gerçek dosya hiyerarşisini yansıtmaz. ancak projenizde gezinmeyi kolaylaştırmak için benzer dosyaları gruplandırır.
cpp grubunda tüm yerel
kaynak dosyalar, başlıklar, CMake veya ndk-build
için derleme komut dosyaları ve önceden oluşturulmuş
kitaplıklar da vardır. Yeni projeler için Android Studio
native-lib.cpp
örnek bir C++ kaynak dosyası oluşturur ve bunu
uygulama modülünüzün src/main/cpp/
dizininde bulabilirsiniz. Bu örnek
kodu basit bir C++ işlevi (stringFromJNI()
) sağlar.
"Hello from C++"
dizesini döndürür. Ek bilgiler eklemeyi öğrenin
bölümünde projenize istediğiniz kaynak dosyalarının
yeni yerel kaynak dosyaları oluşturabilirsiniz.
build.gradle
dosyalarının Gradle'a dosya oluşturma talimatlarına benzer şekilde
CMake ve ndk-build
için derleme komut dosyası gerekir,
. Android Studio yeni projeler için bir CMake derlemesi oluşturur
komut dosyasını CMakeLists.txt
ekler ve modülünüzün kök dizinine yerleştirir.
Bu derleme komut dosyasının içeriği hakkında daha fazla bilgi edinmek için
CMake'i yapılandırın.
Örnek uygulamayı derleyip çalıştırma
Çalıştır 'ı tıkladığınızda, Android Studio
"C++'tan merhaba" metnini görüntüleyen bir uygulama derler ve başlatır şurada:
Android cihaz veya emülatör. Aşağıdaki genel bakış bölümünde,
aşağıdaki adımları uygulayın:
- Harici derleme komut dosyanıza Gradle çağrıları,
CMakeLists.txt
- CMake, bir C++ kaynağını derlemek için derleme komut dosyasındaki komutları izler
dosyasını (
native-lib.cpp
) paylaşılan nesne kitaplığına ve adlara taşıyınlibnative-lib.so
. Ardından Gradle bunu uygulamaya paketler. - Çalışma zamanı sırasında uygulamanın
MainActivity
öğesi yerel dosyayı yükler kitaplığı kullanarakSystem.loadLibrary()
. Kitaplığın yerel işlevi,stringFromJNI()
artık uygulamada kullanılabilir. -
MainActivity.onCreate()
,stringFromJNI()
araması yapıyor,"Hello from C++"
değerini döndürür veTextView
öğesini güncellemek için bunu kullanır.
Gradle'ın uygulamada yerel kitaplığı paketlediğini doğrulamak için şunu kullanın: APK Analiz Aracı:
- Derleme > Derleme Paketleri / APK'lar > APK oluşturun.
- Derleme > APK'yı analiz edin.
app/build/outputs/
dizininden APK veya AAB'yi seçin ve Tamam'ı tıklayın.- Şekil 2'de gösterildiği gibi,
libnative-lib.so
öğesinilib/<ABI>/
altındaki APK Analiz Aracı penceresi.Şekil 2. APK'yı kullanarak yerel kitaplık bulma Analiz Aracı.
İpucu: Aşağıdaki Android uygulamalarıyla deneme yapmak istiyorsanız yerel kod kullanıyorsanız Dosya > Yeni > Örneği İçe Aktar ve Ndk listesinden örnek proje seçin.
Yeni C/C++ kaynak dosyaları oluşturma
Mevcut bir projeye yeni C/C++ kaynak dosyaları eklemek için aşağıdaki adımları uygulayın:
- Ana kaynakta zaten bir
cpp/
dizininiz yoksa uygulamanız varsa aşağıdaki gibi bir tane oluşturun: - IDE'nin sol tarafındaki Proje bölmesini açın ve menüden Proje görünümünü seçin.
- your-module > src'yi seçin.
- main dizinini sağ tıklayın ve Yeni > Dizin'e gidin.
- Dizin adı olarak
cpp
yazın ve Tamam'ı tıklayın. cpp/
dizinini sağ tıklayın ve Yeni > C/C++ Kaynak Dosyası.- Kaynak dosyanız için
native-lib
gibi bir ad girin. - Tür menüsünde dosya uzantısını seçin.
kaynak dosyanız için (
.cpp
gibi) kullanın.- Dosya Türlerini Düzenle'yi tıklayın.
Menüye diğer dosya türlerini eklemek için
.cxx
veya.hxx
. Yeni Dosya Uzantıları açılırsa, açılır menüden başka bir dosya uzantısı seçin Kaynak Uzantısı ve Üstbilgi Uzantısı menüleri ve Tamam'ı tıklayın.
- Dosya Türlerini Düzenle'yi tıklayın.
Menüye diğer dosya türlerini eklemek için
- Bir başlık dosyası oluşturmak için ilişkili üstbilgi onay kutusunu işaretleyin.
- Tamam'ı tıklayın.
Projenize yeni C/C++ dosyaları ekledikten sonra da bunu CMake'i yapılandırarak .
Ek kaynaklar
Uygulamanızda C/C++ kodunu destekleme hakkında daha fazla bilgi edinmek için şunu deneyin: gösterir.
Codelab'ler
- Android Studio ile Hello-CMake oluşturma Bu codelab'de, reklam yayınlamaya başlamak için Android Studio CMake şablonunun nasıl kullanılacağı Android NDK proje geliştirme.