【发布时间】:2019-01-19 15:34:50
【问题描述】:
我在 android studio 中创建了 C/C++ 项目,我想使用 NDK 摄像头。 我写在我的cpp文件中
#include <camera/NdkCameraMetadata.h>
#include <camera/NdkCameraManager.h>
#include <camera/NdkCameraDevice.h>
#include <jni.h>
#include <string>
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_test_MainActivity_listDevices(JNIEnv* env, jobject)
{
std::string text;
ACameraIdList *camList;
ACameraManager *camManager;
camManager = ACameraManager_create();
camera_status_t result = ACameraManager_getCameraIdList(camManager, &camList);
if (result == ACAMERA_OK)
{
text = "Error List devices";
}
else
{
text = "Device listed";
}
return env->NewStringUTF(text.c_str());;
}
但Android工作室正在编写
“无法解析类型 ACameraIdList”
我做错了什么?我只是将此代码添加到 .cpp 文件中,仅此而已。没有更改任何其他文件。
【问题讨论】:
-
您的目标是哪个平台级别?原生相机 API 需要 24 个。
-
我安装了 API 级别 24 和 API 级别 28。我有搭载 Android 7.0 的三星 Galaxy A7。但为什么 Android Studio 无法解析这些类型?
-
我不是说你安装了哪些SDK。我的意思是您为哪个原生 API 级别构建。
-
API 级别 24。
-
好吧,当我尝试它时,我无法重现您描述的问题。如果我将
minSdkVersion设置为低于 24 的值(因为本机相机 API 需要 24 级或更高级别),我确实会在 IDE 中出现“无法旋转”错误。当然你需要链接到 libcamera2ndk,否则你会得到链接错误。
标签: android c++ android-ndk android-camera2