1、我用的开发IDE是 android studio APP_PLATFORM android-23 进行编译的,公司做工业相机,想通过uvc协议进行上位机和设备进行通信。
2、各种库
[armeabi-v7a] Install : libGPCamera.so => libs/armeabi-v7a/libGPCamera.so
[armeabi-v7a] Install : libjpeg-turbo1500.so => libs/armeabi-v7a/libjpeg-turbo1500.so
[armeabi-v7a] Install : libusb100.so => libs/armeabi-v7a/libusb100.so
[armeabi-v7a] Install : libuvc.so => libs/armeabi-v7a/libuvc.so
3、在我执行debug的时候 调用libusb的 libusb_get_device_list 取获取不到设备。日志如下:

4、我的代码如下
UINT CGsUvcDeviceSearch::LibUsbInit()
{
LOGI("CGsUvcDeviceSearch::LibUsbInit m_nStatus=[%d]", m_nStatus);
int ret = LIBUSB_SUCCESS;
//开启会话
ret = libusb_init(&m_pUsbCtx);
if (LIBUSB_SUCCESS != ret)
{
LOGI("failed to initialise libusb: %s\n", libusb_error_name(ret));
return EXIT_FAILURE;
}
//非0 支持 ,0 不支持
ret = libusb_has_capability(LIBUSB_CAP_HAS_HOTPLUG);
if (LIBUSB_SUCCESS == ret)
{
LOGI("Hotplug capabilites are not supported on this platform\n");
LOGI("this version's libusb doesn't support hotplug\n");
libusb_exit(m_pUsbCtx);
return EXIT_FAILURE;
}
int devIdx = -1;
struct libusb_device *pUsbDev = NULL;
ret =
libusb_get_device_list(m_pUsbCtx, &m_ppUsbDevs);
if(LIBUSB_SUCCESS != ret)
{
LOGI("Failed to get device list on iteration %d (%p)", m_nTotalDeviceSum, m_ppUsbDevs);
return EXIT_FAILURE;
}
while ((pUsbDev = m_ppUsbDevs[++devIdx]) != NULL ) //这里不会进来。插入设备,然后启动debug模式。
{
//printdev(pUsbDev);
m_nTotalDeviceSum++;
LOGI("####################################libusb_get_device_list Find Device~~~ m_nTotalDeviceSum=[%d] m_ppUsbDevs=[%p]\n",m_nTotalDeviceSum, m_ppUsbDevs);
}
//m_nStatus = UVC_DEVICE_STATUS_START;
LOGI("LibUsbInit is suc...m_nStatus = UVC_DEVICE_STATUS_START\n\n");
return EXIT_SUCCESS;
}
,之前没有做过安卓开发,希望求助下大咖需要怎么解决???