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

Flutter项目无法访问ListenableFuture类的依赖冲突问题排查

解决Flutter项目中CameraX与Guava ListenableFuture依赖冲突问题

核心问题原因

你遇到的错误是因为Guava的listenablefuture被替换成了9999.0-empty-to-avoid-conflict-with-guava这个空包,导致CameraX需要的ListenableFuture类找不到。Flutter项目中,插件引入的依赖会和你手动添加的CameraX依赖产生冲突,普通的Gradle配置如果没放在正确层级,可能无法覆盖插件的依赖规则。

具体解决方法

1. 确保Gradle配置作用到所有模块

Flutter项目的Android部分有两个关键的build.gradle:

  • 根目录android/build.gradle:全局配置,影响所有子模块(包括Flutter插件)
  • android/app/build.gradle:App模块配置,只影响当前模块

推荐在**全局android/build.gradle**的subprojects块中统一配置依赖规则,这样能覆盖所有Flutter插件的依赖:

subprojects {
    configurations.all {
        // 强制使用有效的ListenableFuture版本,替换空包
        resolutionStrategy.force "com.google.guava:listenablefuture:1.0"
        // 排除所有引入的空版本ListenableFuture
        exclude group: 'com.google.guava', module: 'listenablefuture'
    }
}

2. 模块级依赖补充(可选)

如果全局配置不生效,在android/app/build.gradle的dependencies块中直接添加有效依赖并强制:

dependencies {
    // 强制引入ListenableFuture有效版本
    implementation("com.google.guava:listenablefuture:1.0") {
        force = true
    }
    // 确保CameraX核心依赖正确引入
    implementation("androidx.camera:camera-core:1.2.3")
    implementation("androidx.camera:camera-camera2:1.2.3")
    implementation("androidx.camera:camera-lifecycle:1.2.3")
}

3. 清理缓存,彻底重建

配置完成后必须清理缓存,否则旧依赖会残留:

  • 执行Flutter清理命令:flutter clean
  • 进入Android目录执行Gradle清理:cd android && ./gradlew clean build
  • 或者在Android Studio中点击File -> Invalidate Caches... -> Invalidate and Restart

4. 替代写法:绕开ListenableFuture冲突

如果依赖冲突实在无法解决,可以用Coroutine异步处理替代原生的addListener,避免直接依赖ListenableFuture:

// 在你的AndroidCameraView类中,使用lifecycleScope处理异步
lifecycleScope.launch {
    val cameraProvider = ProcessCameraProvider.getInstance(context).await()
    bindPreview(cameraProvider, lifecycleOwner)
}

需要添加Coroutine依赖到android/app/build.gradle:

implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 15:15:37