Flutter安装google_mobile_ads后编译报错:webview_flutter_android:compileDebugJavaWithJavac
解决Flutter安装google_mobile_ads后Android编译报错问题
针对你遇到的Execution failed for task ':webview_flutter_android:compileDebugJavaWithJavac'错误,以下是几种可行的解决方法:
1. 检查并指定正确的JDK路径
这个报错通常和JDK版本不兼容或路径配置错误有关。可以在项目的android/gradle.properties文件中添加以下配置,指定Android Studio自带的JBR路径:
org.gradle.java.home=/Applications/Android Studio.app/Contents/jbr/Contents/Home
确保使用的JDK版本为11及以上(Gradle 7.x及更高版本要求JDK 11)。
2. 清理Gradle缓存与项目构建缓存
缓存损坏可能导致依赖转换失败,执行以下命令清理缓存并重新构建:
flutter clean rm -rf ~/.gradle/caches flutter pub get flutter run
3. 重新下载Android 34平台文件
报错中提到的android-34/core-for-system-modules.jar可能已损坏,打开Android Studio的SDK Manager:
- 找到Android 13 (Tiramisu)(对应API 34)
- 先点击"Uninstall"卸载,再重新安装该平台组件
4. 锁定webview_flutter_android版本
google_mobile_ads可能引入了与项目不兼容的webview_flutter_android版本,在pubspec.yaml中指定稳定版本:
dependencies: flutter: sdk: flutter google_mobile_ads: ^2.4.0 webview_flutter_android: ^2.10.4 # 添加该行锁定版本
执行flutter pub get后重新运行项目。
5. 更新Gradle构建工具版本
项目使用的Gradle版本可能过低,无法处理新的依赖转换:
- 打开
android/build.gradle,更新classpath版本:dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 其他依赖... } - 打开
android/gradle/wrapper/gradle-wrapper.properties,更新distributionUrl:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
内容的提问来源于stack exchange,提问作者Luis Alberto Murcia Solivella
相关产品推荐
相关产品推荐

