API Android là Java. Từ năm 2010, Google cung cấp NDK (SDK) cho các nhà phát triển C / C ++.
NDK cung cấp hai cách:
- đối với thiết bị Android 1.5, bạn có thể tải thư viện elf và sử dụng nó từ ứng dụng java thông qua cầu nối JNI
- đối với các thiết bị Android 2.3, bạn có thể sử dụng NativeActivity để bỏ qua mã Hoạt động Java cho Ứng dụng toàn màn hình.
NDK cung cấp một vài API C / C ++:
- một libc giả gọi là bionics: nhiều chức năng không có sẵn
- một thư viện pthread
- OpenGL ES 1.x (> Android 1.5) và OpenGL ES 2.x (Android 2.0)
- OpenSL (hỗ trợ hạn chế trên Android 2.3)
Nhưng nhiều API chỉ là Java (cũng có sẵn thông qua JNI).
Phiên bản NDK 5 là phiên bản đầu tiên có thể sử dụng cho các nhà phát triển C ++ vì nó cung cấp:
- RTTI
- Hỗ trợ ngoại lệ
- STLport
- gdb hỗ trợ cho các chương trình đa luồng
Hoạt động đau đớn nhất là gỡ lỗi trên các thiết bị Android. Vì vậy, tôi phát triển khung đa nền tảng của riêng mình (OS X, Windows, Linux, iOS và Android) để gỡ lỗi đầu tiên trên nền tảng máy tính để bàn, nền tảng iOS tiếp theo (trên Trình mô phỏng) và Lần cuối (Android).
Trình giả lập Android (không phải trình giả lập) có hiệu suất kém và không thể mô phỏng OpenGL ES 2.x. Tôi đề nghị các thiết bị thực sự để phát triển.
Bạn có thể tìm thấy nhiều thông tin hữu ích: