[错误/问题] 独立 C++ 可执行文件中 NDK Camera2 回调 (onImageAvailable) 未触发 (无 JNI/Java)

作者: sitjac创建于 2026年2月28日更新于 2026年2月28日

问题描述:

1. 问题陈述

我正在使用 NDK Camera2 API(NdkCameraManagerNdkCameraDeviceAImageReader)开发一个纯 C++ 工具,没有任何 Java 或 JNI 粘合代码。目标是从 shell 中捕获帧并将其保存到本地文件系统中。二进制文件初始化成功,ACameraManager_openCamera 返回 ACAMERA_OK。然而,没有任何回调被触发:

  • ACameraDevice_StateCallbacks(例如,onOpened)没有被调用。
  • ACameraCaptureSession_stateCallbacks(例如,onReady)没有被调用。
  • AImageReader_ImageCallbackonImageAvailable)从未被触发。 程序进入一个循环,但一直处于空闲状态,直到超时,没有与摄像头服务拒绝相关的日志信息。

内容来源: android/ndk-samples