Android NDK API 标识
- A 前缀表示这是 Android NDK 的原生 C/C++ API
- 区别于 Java/Kotlin 层的 Android API
- 这是 Google 的官方命名约定
举例说明
c
// Camera2 NDK API
ACameraManager_create() // Android Camera Manager
ACameraDevice // Android Camera Device
ACameraCaptureSession // Android Camera Capture Session
ACaptureRequest // Android Capture Request
AImageReader // Android Image Reader
// 其他 NDK API
ALooper // Android Looper (消息循环)
AAssetManager // Android Asset Manager (资源管理)
ANativeWindow // Android Native Window (原生窗口)
ATrace_beginSection() // Android Trace (性能追踪)
其他 Android NDK 前缀 等
c
// A 系列 - Android 核心 API
ACameraManager, ALooper, AAssetManager
// JNI 系列 - Java Native Interface
JNIEnv, jobject, jstring, jclass
// EGL 系列 - OpenGL ES 相关
EGLDisplay, EGLContext, EGLSurface
// GL 系列 - OpenGL
glGenTextures, glBindTexture
原因解释
命名规范的历史背景 避免命名冲突
// 如果没有 A 前缀,可能会与其他库冲突
CameraManager vs ACameraManager // 明确这是 Android 的
ImageReader vs AImageReader // 避免与第三方库冲突
API 层次区分
// Java 层 (Android Framework)
CameraManager cameraManager = (CameraManager) getSystemService(Context.
CAMERA_SERVICE);
// NDK 层 (Native C/C++)
ACameraManager* cameraManager = ACameraManager_create();