You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio导入AndroidUSBCamera库遇Gradle依赖与编译异常

AndroidUSBCamera库Gradle依赖问题解决方案

问题1:编译时“假”类型不兼容错误

原因分析

该问题源于Android Studio索引缓存异常,或是Kotlin-Java互操作时的类型识别延迟。尽管库中CameraUVC确实继承自MultiCameraClient.ICamera,但IDE的增量编译或索引未及时更新,导致编译阶段误报错误,而实际运行时类加载逻辑是正常的。

解决方案

  1. 清理IDE缓存并重启:
    打开Android Studio,依次点击File → Invalidate Caches... → 勾选Clear file system cache and local history → 点击Invalidate and Restart。
  2. 清理构建文件:
    在项目根目录执行命令:
    ./gradlew clean build --no-build-cache
    
  3. 临时绕开IDE检查:
    若上述方法无效,可尝试双重类型转换绕过IDE的错误提示(仅作为临时兼容方案):
    return (MultiCameraClient.ICamera)(Object)new CameraUVC(ctx, device);
    

问题2:无法导入com.jiangdg.usb.USBMonitor包

原因分析

这是库的内部依赖配置缺陷:libausbc模块使用implementation project(':libuvc')引入依赖,而implementation会隐藏依赖的内部API,导致下游应用无法访问libuvc中的类。手动导入libuvc.aar出现重复类错误,是因为libausbc已隐式依赖同名的libuvc模块,重复引入造成类冲突。

解决方案

修改Module级别的build.gradle依赖配置,排除libausbc中隐式的libuvc依赖,改用api方式直接引入libuvc以确保API可访问:

dependencies {
    // 保留原依赖,排除内部的libuvc
    implementation('com.github.jiangdongguo.AndroidUSBCamera:libausbc:3.3.3') {
        exclude group: 'com.github.jiangdongguo.AndroidUSBCamera', module: 'libuvc'
    }
    // 用api引入libuvc,让应用能访问其内部类
    api 'com.github.jiangdongguo.AndroidUSBCamera:libuvc:3.3.3'
}

同步Gradle后,即可正常导入com.jiangdg.usb.USBMonitor类。

内容的提问来源于stack exchange,提问作者NikoPera

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 14:57:30