Flutter集成相机时出现:camera_android_camerax:compileDebugJavaWithJavac编译错误
解决Flutter集成相机时
:camera_android_camerax:compileDebugJavaWithJavac编译失败问题 核心解决步骤
1. 调整Java版本适配CameraX要求
CameraX新版本已不再兼容Java 8,你当前使用的Java 1.8会导致编译失败,需升级到Java 11:
- 修改
android/app/build.gradle中的compileOptions配置:compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } - 同时在Android Studio中把项目JDK切换为Java 11(路径:
File > Project Structure > SDK Location > JDK Location)。
2. 统一CompileSdk配置
你的build.gradle中重复写了compileSdk = 34和compileSdkVersion 34,建议删除其中一行,保留统一写法,避免配置冲突。
3. 降级Camera插件到兼容Java 8的版本(若无法升级Java)
如果暂时无法升级Java,可在pubspec.yaml中指定兼容Java 8的camera版本:
dependencies: camera: ^0.10.5+5 # 该版本适配Java 8,可按需调整
执行命令更新依赖并重建:
flutter clean flutter pub get flutter run
4. 同步Gradle版本与Flutter版本
确保Gradle插件和Gradle工具版本与Flutter 3.22.2兼容:
- 修改
android/build.gradle中的Gradle插件版本:buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.4.2' } } - 修改
android/gradle/wrapper/gradle-wrapper.properties中的Gradle分发地址:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
5. 彻底清理缓存重建
执行以下命令清除所有缓存后重新构建:
flutter clean rm -rf ~/.gradle/caches # Windows用户执行:rd /s /q %USERPROFILE%\.gradle\caches flutter pub get flutter run
内容的提问来源于stack exchange,提问作者leauradmin
相关产品推荐
相关产品推荐

