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();
相关推荐
陆业聪35 分钟前
让 Android 里的 AI 真正「干活」:Function Calling 工程实现全解
android·ai·kotlin
毕设源码-赖学姐1 小时前
【开题答辩全过程】以 基于Android的服装搭配APP为例,包含答辩的问题和答案
android
qq_717410011 小时前
Add Baidu NLP for projects without GMS packages
android
AI-小柒1 小时前
DataEyes 聚合平台 + Claude Code Max 编程实战
android·开发语言·人工智能·windows·python·macos·adb
优选资源分享3 小时前
椒盐音乐 v11.1.0 丨安卓无广本地音乐播放器
android
xiangxiongfly9154 小时前
Android ArrayMap源码分析
android·arraymap
lishutong10065 小时前
直破 Android 17 大屏困局:Navigation 3 架构深度解析
android·架构
梦里花开知多少5 小时前
AOSP Android 14 壁纸架构深度分析
android
木子予彤5 小时前
直破 Android 17 大屏困局:Navigation 3 架构深度解析
android·android jetpack
用户41659673693555 小时前
记一次 Compose 文本排版填坑:为什么阿拉伯文案明明空间足够却强行换行?
android