2013-07-24 63 views
0

我有以下代碼...使用相機機Android什麼庫

gl_game.cpp

#include <camera/Camera.h> 
.... 
using namespace android; 
LOGI("Number of cameras are... %d", Camera::getNumberOfCameras()); 

和Android.mk ...

LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../AOSP/frameworks/av/include $(LOCAL_PATH)/../../AOSP/frameworks/native/include $(LOCAL_PATH)/../../AOSP/system/core/include $(LOCAL_PATH)/../../AOSP/hardware/libhardware/include 

當我嘗試編譯我看到一個鏈接器錯誤...

error: undefined reference to 'android::Camera::getNumberOfCameras()' 

我假設這是因爲我從來沒有將包含Camera.cpp的.so添加到我的LOCAL_LDLIBS,但我找不到要添加到鏈接程序的正確.so文件。有人知道怎麼做嗎?

回答

0

這就是我所做的,我認爲這裏的問題是.so文件實現是製造商特定的。因爲我只是測試,並沒有做那麼遠但我用了一個紮根模擬器搶。所以切斷仿真設備本身的...

adb pull /system/lib/libcamera_client.so ../project/jni/lib/ 

然後添加以下到我的Android.mk。 ...

include $(CLEAR_VARS) 
LOCAL_MODULE := libcam 
LOCAL_SRC_FILES := lib/libcamera_client.so 
include $(PREBUILT_SHARED_LIBRARY) 
... 
LOCAL_SHARED_LIBRARIES := libcam 

現在我明白了...

I/libgl2jni(843):攝像機編號是... 0

這是什麼,我會從一個模擬器期待...

相同的文件還參與了我的華碩平板...

I/libgl2jni(8175):攝像機數量... 2

+0

太棒了! :D這可以在不從設備或仿真器拉入SO的情況下完成嗎? OpenCV構建如何實現它? (我正在閱讀它,但還沒有理解它們是如何做到的。) – jpap

+0

我不確定我是否正在處理它,但之後我遇到了一些投影問題。祝你好運,並隨時添加到答案! – Jackie