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

Flutter集成新版本原生包后Android构建报错:Cannot query the value of this provider because it has no value available

Flutter集成新版本原生包后Android构建报错:Cannot query the value of this provider because it has no value available

这种依赖冲突类的构建报错确实挺头疼的,尤其是flutter doctor全绿但项目还是跑不起来的情况,我帮你整理几个针对性的排查和解决步骤:

1. 核对包与构建工具的版本兼容性

很多时候这类报错是因为升级的原生包(比如firebase_core)和你当前使用的Flutter、AGP、Gradle版本不匹配。建议去对应包的pub.dev页面查看官方标注的兼容版本范围,比如部分新版本的Firebase包要求AGP 8.0+、Flutter 3.10+,如果你的项目里其他依赖拖了后腿,就容易出现这类模糊的依赖查询错误。

2. 彻底清理项目与系统构建缓存

有时候flutter pub cache repair不够彻底,试试更全面的缓存清理:

  • 执行命令清理Flutter项目缓存:
    flutter clean
    flutter pub get
    
  • 删除Android项目本地Gradle缓存(Mac/Linux):
    rm -rf android/.gradle
    rm -rf ~/.gradle/caches
    
    Windows系统则执行:
    rd /s /q android\.gradle
    rd /s /q %USERPROFILE%\.gradle\caches
    
  • 清理完成后重新执行构建命令。

3. 强制统一Kotlin版本

Kotlin版本不一致是常见的隐藏冲突点,打开android/build.gradle文件,在buildscript块中指定统一的Kotlin版本(选一个和你的AGP版本兼容的,比如AGP 8.4对应Kotlin 1.9.x):

buildscript {
    ext {
        kotlin_version = '1.9.23'
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:8.4.0"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // 其他依赖...
    }
}

4. 统一Android SDK版本配置

确保项目的compileSdkVersion和targetSdkVersion与你安装的Android SDK(35.0.0)一致:

  • 打开android/app/build.gradle:
    android {
        compileSdkVersion 35
        defaultConfig {
            targetSdkVersion 35
            // 其他配置...
        }
    }
    
  • 同时检查android/build.gradle中AGP的版本是否统一:
    plugins {
        id 'com.android.application' version '8.4.0' apply false
        id 'com.android.library' version '8.4.0' apply false
        // 其他插件...
    }
    

5. 逐步排查单个包的兼容性问题

用排除法定位问题包:

  • 先暂时移除volume_controller这类第三方包,只保留firebase_core,重新构建项目。如果构建成功,说明是volume_controller的版本和当前环境不兼容,尝试降级该包到前一个稳定版本。
  • 如果移除后仍然报错,尝试降级firebase_core到前一个大版本(比如从3.0.x降到2.24.x),看是否能解决依赖冲突。

6. 确认Java SDK环境配置正确

AGP 8.x官方推荐使用Java 17,确保:

  • 系统的JAVA_HOME环境变量指向Java 17的安装路径,没有同时指向其他Java版本(比如22)。
  • Android Studio的File > Project Structure > SDK Location中,JDK路径也设置为Java 17的路径。

按照这些步骤逐步排查,应该能定位到问题所在。这类报错大多是依赖版本不兼容或者缓存残留导致的,耐心排查就能解决。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 10:53:02