Android NDK 命令规范

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();
相关推荐
天空之城--7 小时前
Android Koin 完全指南:从原理到实践
android
zhangphil8 小时前
Android main thread主线程Choreographer doFrame发生FullSuspendCheck
android
TimeFine12 小时前
智能眼镜开发:获取真实的音频路由
android
pengyu12 小时前
【Kotlin 协程修仙录 · 渡劫境 · 中阶】 | 造化神兵:自定义 CoroutineDispatcher 与调度器的终极定制
android·kotlin
pengyu12 小时前
【Kotlin 协程修仙录 · 渡劫境 · 初阶】 | 飞升雷劫:CPS 变换与挂起函数字节码终极透视
android·kotlin
TimeFine12 小时前
智能眼镜开发:眼镜Touch后收音与触发播放系统音乐的矛盾处理
android
TimeFine13 小时前
智能眼镜开发:眼镜侧收集音频
android
又见情义13 小时前
Android 系统设置从平板版迁移至TV版实践
android
杉氧16 小时前
打破边界(一):实战编写 Android/iOS 原生模块 (Native Modules)
android·react native·前端框架