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

Android CameraX调用ProcessCameraProvider.getInstance报NoSuchMethodError原因排查

崩溃原因与解决方案

根本原因

该崩溃由CameraX 各组件依赖版本不匹配导致:
报错信息中缺失的getOrCreateInstance方法是特定版本camera-core包才提供的API,你项目中引入的camera-lifecycle组件版本高于camera-core组件版本,高版本的ProcessCameraProvider.getInstance()调用了低版本camera-core中不存在的API,因此抛出NoSuchMethodError异常。

解决步骤

  • 统一所有CameraX相关依赖的版本号,禁止跨版本混用。打开Module级别的build.gradle文件,调整依赖配置如下,所有CameraX组件使用同一版本号:
dependencies {
    // 所有CameraX依赖版本号完全一致
    val cameraxVersion = "1.3.0" // 可替换为你需要的稳定/测试版版本号
    implementation("androidx.camera:camera-core:$cameraxVersion")
    implementation("androidx.camera:camera-camera2:$cameraxVersion")
    implementation("androidx.camera:camera-lifecycle:$cameraxVersion")
    implementation("androidx.camera:camera-view:$cameraxVersion")
}

如果你的项目引入了ML Kit条码扫描等第三方依赖,这些依赖可能自动引入了低版本的CameraX组件,可添加强制版本锁定规则避免版本被覆盖:

// 放在Module级build.gradle的android块外
configurations.all {
    resolutionStrategy.force "androidx.camera:camera-core:1.3.0"
    resolutionStrategy.force "androidx.camera:camera-lifecycle:1.3.0"
}
  • 清除项目缓存后重新编译:点击Android Studio顶部菜单栏File -> Invalidate Caches...,勾选清除文件系统缓存选项,重启IDE后重新构建项目即可。
  • 模拟器运行额外检查:提前给应用授予相机权限,同时确认模拟器相机配置已开启:打开模拟器侧边栏更多选项 -> 设置 -> 高级 -> 相机,选择使用主机相机或者虚拟仿真相机。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:06:07