从GitLab克隆的Flutter项目Gradle构建失败求助
解决Flutter项目Gradle构建失败(connectivity模块编译错误)
刚碰到过一模一样的问题,核心原因就是旧版本的connectivity插件还在用Java 7编译,而Gradle把这些过时警告当成错误(因为开启了-Werror)导致构建卡壳。给你几个靠谱的解决思路:
修改插件的编译版本配置
找到项目里android目录下的build.gradle,或者直接定位到connectivity插件的本地gradle配置(一般在flutter/.pub-cache/hosted/pub.dartlang.org/connectivity-xxx/android/build.gradle),把Java编译版本改成1.8,同时关掉过时选项的警告:android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } // 如果有-Werror配置就删掉,或者添加下面的参数抑制警告 lintOptions { disable 'Options' } }全局统一设置所有模块的Java版本
不想一个个改插件的话,直接在项目根目录的android/build.gradle里添加全局配置,让所有模块都用Java 8编译,同时忽略过时选项的警告:allprojects { repositories { // 保留你原来的仓库配置,比如google()、mavenCentral()等 } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xlint:-options" options.sourceCompatibility = '1.8' options.targetCompatibility = '1.8' } } }直接升级connectivity插件版本
最省心的办法就是换个新版本的插件,打开项目的pubspec.yaml,把connectivity的依赖版本改成最新稳定版,然后跑flutter pub get更新。新版本的插件基本都适配了Java 8,自然就不会有这些过时警告了。
改完之后记得先执行flutter clean清空旧的构建缓存,再重新运行flutter run,应该就能正常构建了。
内容的提问来源于stack exchange,提问作者Umair Mairi
相关产品推荐
相关产品推荐

