API Android adalah Java. Sejak 2010, Google menyediakan NDK (a SDK) untuk pengembang C / C ++.
NDK menawarkan dua cara:
- untuk perangkat Android 1.5, Anda dapat memuat perpustakaan elf dan menggunakannya dari aplikasi java melalui jembatan JNI
- untuk perangkat android 2.3, Anda dapat menggunakan NativeActivity untuk mem-bypass kode Aktivitas Java untuk Aplikasi Layar Penuh.
NDK menawarkan beberapa C / C ++ API:
- a pseudo libc yang disebut bionik: banyak fungsi tidak tersedia
- perpustakaan pthread
- OpenGL ES 1.x (> Android 1.5) dan OpenGL ES 2.x (Android 2.0)
- OpenSL (dukungan terbatas pada Android 2.3)
Tetapi banyak API hanya Java (juga tersedia melalui JNI).
Versi NDK 5 adalah yang pertama digunakan untuk pengembang C ++ karena menawarkan:
- RTTI
- Pengecualian mendukung
- STLport
- dukungan gdb untuk program multi-utas
Operasi yang paling menyakitkan adalah debugging pada perangkat android. Jadi saya mengembangkan kerangka kerja multi-platform saya sendiri (OS X, Windows, Linux, iOS dan Android) untuk debug pertama pada platform desktop, platform iOS berikutnya (pada Simulator) dan Terakhir (Android).
Android Emulator (bukan simulator) memiliki kinerja yang buruk dan tidak dapat meniru OpenGL ES 2.x. Saya merekomendasikan perangkat nyata untuk dikembangkan.
Anda dapat menemukan banyak informasi berguna: