Tambahkan kode C dan C++ ke project Android Anda dengan menempatkan kode ke direktori
cpp
dalam modul project Anda. Ketika mem-build project, kode ini
dikompilasi ke library native yang dapat dipaketkan Gradle dengan aplikasi Anda.
Kode Java atau Kotlin Anda kemudian dapat memanggil fungsi di library native
melalui Java Native Interface (JNI). Untuk mempelajari penggunaan framework JNI
lebih lanjut, baca Tips JNI untuk
Android.
Android Studio mendukung CMake, yang berguna untuk project lintas platform.
Android Studio juga mendukung ndk-build
, yang
dapat lebih cepat dari CMake, tetapi hanya mendukung Android. Penggunaan CMake dan
ndk-build
dalam modul yang sama saat ini tidak didukung.
Untuk mengimpor library ndk-build
yang ada ke project Android Studio Anda, pelajari cara
menautkan Gradle ke project library native.
Halaman ini menunjukkan cara menyiapkan Android Studio dengan alat build yang diperlukan, membuat project baru dengan dukungan C/C++, dan menambahkan file C/C++ baru ke project.
Jika Anda ingin menambahkan kode native ke project yang ada, ikuti langkah-langkah berikut:
-
Buat file sumber native baru, lalu tambahkan file
ke project Android Studio Anda.
- Lewati langkah ini jika Anda sudah memiliki kode native atau ingin mengimpor library native bawaan.
-
Konfigurasikan CMake agar
mem-build kode sumber native ke dalam library. Skrip build ini diperlukan
jika Anda mengimpor dan menautkan ke library platform atau
bawaan.
- Jika Anda sudah memiliki library native yang sudah memiliki
skrip build
CMakeLists.txt
atau menggunakanndk-build
dan menyertakan skrip buildAndroid.mk
, lewati langkah ini.
- Jika Anda sudah memiliki library native yang sudah memiliki
skrip build
-
Konfigurasikan
Gradle dengan menyediakan jalur ke file skrip CMake atau
ndk-build
. Gradle menggunakan skrip build untuk mengimpor kode sumber ke project Android Studio dan memaketkan library native ke dalam aplikasi.
Setelah mengonfigurasi project, akses fungsi native dari kode Java atau Kotlin menggunakan framework JNI. Untuk membuat dan menjalankan aplikasi Anda, klik Run .
Catatan: Jika project Anda yang sudah ada menggunakan alat
ndkCompile
yang tidak digunakan lagi, migrasikan untuk menggunakan CMake atau
ndk-build
.
Mendownload NDK dan alat build
Untuk mengompilasi dan men-debug kode native aplikasi, Anda memerlukan komponen berikut:
- Android Native Development Kit (NDK): kumpulan alat yang memungkinkan Anda menggunakan kode C dan C++ dengan Android. NDK menyediakan library platform yang memungkinkan Anda mengelola aktivitas native dan mengakses komponen perangkat fisik, seperti sensor dan input sentuh.
-
CMake: alat build
eksternal yang bekerja bersama Gradle untuk mem-build library
native. Anda tidak memerlukan komponen ini jika hanya berencana menggunakan
ndk-build
. - LLDB: debugger di Android Studio yang men-debug kode native.
Untuk mengetahui informasi tentang cara menginstal komponen ini, lihat Menginstal dan mengonfigurasi NDK dan CMake .
Membuat project baru dengan dukungan C/C++
Untuk membuat project baru dengan dukungan kode native, prosesnya mirip dengan membuat project Android Studio lainnya, tetapi dengan langkah tambahan:
- Di bagian Choose your project di wizard, pilih jenis project Native C++.
- Klik Next.
- Lengkapi semua kolom lainnya di bagian wizard berikutnya.
- Klik Next.
-
Di bagian Customize C++ Support di wizard, Anda dapat menyesuaikan
project dengan kolom C++ Standard.
- Gunakan menu drop-down untuk memilih standardisasi C++ yang ingin digunakan. Memilih Toolchain Default akan menggunakan setelan CMake default.
- Klik Finish.
Setelah Android Studio menyelesaikan pembuatan project baru, buka panel Project dari sisi kiri IDE, lalu pilih tampilan Android dari menu. Seperti ditampilkan dalam gambar 1, Android Studio akan menambahkan grup cpp:
Catatan: Tampilan ini tidak mencerminkan hierarki file sesungguhnya pada disk, tetapi mengelompokkan file yang serupa untuk menyederhanakan navigasi project.
Dalam grup cpp, Anda dapat menemukan semua file sumber
native, header, skrip build untuk CMake atau ndk-build
, dan library
bawaan yang merupakan bagian dari project. Untuk project baru, Android Studio
membuat file sumber C++ contoh, native-lib.cpp
, dan menempatkannya di
direktori src/main/cpp/
modul aplikasi. Kode contoh ini menyediakan fungsi C++ sederhana, stringFromJNI()
, yang
menampilkan string "Hello from C++"
. Pelajari cara menambahkan
file sumber tambahan ke project di bagian tentang cara
membuat file sumber native baru.
Mirip dengan cara file build.gradle
menginstruksikan Gradle cara mem-build
aplikasi, CMake dan ndk-build
memerlukan skrip build untuk mengetahui cara mem-build
library native. Untuk project baru, Android Studio membuat skrip build CMake,
CMakeLists.txt
, dan menempatkannya di direktori utama modul.
Untuk mempelajari konten skrip build ini lebih lanjut, baca
Mengonfigurasi CMake.
Mem-build dan menjalankan aplikasi contoh
Saat Anda mengklik Run , Android Studio akan mem-build dan meluncurkan aplikasi yang menampilkan teks “Hello from C++” di perangkat Android atau emulator. Ringkasan berikut menjelaskan peristiwa yang berlangsung untuk mem-build dan menjalankan aplikasi contoh:
- Gradle memanggil skrip build eksternal,
CMakeLists.txt
. - CMake mengikuti perintah dalam skrip build untuk mengompilasi file sumber
C++,
native-lib.cpp
, menjadi library objek bersama dan menamainya denganlibnative-lib.so
. Gradle kemudian memaketkannya menjadi aplikasi. - Selama runtime,
MainActivity
aplikasi akan memuat library native menggunakanSystem.loadLibrary()
. Fungsi native library,stringFromJNI()
, kini tersedia untuk aplikasi. -
MainActivity.onCreate()
memanggilstringFromJNI()
, yang menampilkan"Hello from C++"
dan menggunakannya untuk mengupdateTextView
.
Untuk memverifikasi apakah Gradle memaketkan library native dalam aplikasi, gunakan APK Analyzer:
- Pilih Build > Build Bundles(s) / APK(s) > Build APK(s).
- Pilih Build > Analyze APK.
- Pilih APK atau AAB dari direktori
app/build/outputs/
, lalu klik OK. - Seperti ditampilkan dalam gambar 2, Anda dapat melihat
libnative-lib.so
di jendela APK Analyzer di bagianlib/<ABI>/
.
Tips: Jika Anda ingin bereksperimen dengan aplikasi Android lainnya yang menggunakan kode native, klik File > New > Import Sample, lalu pilih project contoh dari daftar Ndk.
Membuat file sumber C/C++ yang baru
Untuk menambahkan file sumber C/C++ baru ke project yang ada, lakukan langkah berikut:
- Jika Anda belum memiliki direktori
cpp/
dalam set sumber utama aplikasi, buat dengan cara berikut: - Buka panel Project di sebelah kiri IDE, lalu pilih tampilan Project dari menu.
- Buka your-module > src.
- Klik kanan direktori main, lalu pilih New > Directory.
- Masukkan
cpp
sebagai nama direktori, lalu klik OK. - Klik kanan direktori
cpp/
, lalu pilih New > C/C++ Source File. - Masukkan nama untuk file sumber, seperti
native-lib
. - Dari menu Type, pilih ekstensi file
untuk file sumber, seperti
.cpp
.- Klik Edit File Types
untuk menambahkan jenis file lain ke menu, seperti
.cxx
atau.hxx
. Dalam kotak dialog New File Extensions yang muncul, pilih ekstensi file lainnya dari menu Source Extension dan Header Extension lalu klik OK.
- Klik Edit File Types
untuk menambahkan jenis file lain ke menu, seperti
- Untuk membuat file header, pilih kotak centang Create an associated header.
- Klik OK.
Setelah menambahkan file C/C++ baru ke project, Anda masih harus mengonfigurasi CMake untuk menyertakan file di library native.
Referensi lainnya
Untuk mempelajari kode C/C++ pendukung di aplikasi lebih lanjut, coba lihat referensi berikut.
Codelab
- Membuat Hello-CMake dengan Android Studio Codelab ini menunjukkan cara menggunakan template CMake Android Studio untuk memulai pengembangan project Android NDK.