编辑2019-12-13 :
从2019年12月11日发布的Flutter
1.12(稳定版)开始,Flutter样板版现在包括
Gradle发行版5.6.2和插件版本3.5.0,有望使这成为一个历史性的SO问题。插件版本3.5.3是最新的,但即使版本3.5.0也应解决此问题,如最初报告的那样。
原始答案 :
这似乎是由Flutter样板指定了gradle插件的旧版本引起的。我仍然不清楚pubspec.yaml /
lock中的Flutter软件包更新是否触发了该问题,我回滚了一些方法,但仍然存在。
由于某种原因,这会影响我的Windows 10系统,但不会影响我的Mac开发环境。据我所知,它们都是最新的(Flutter 1.7.8 +
hotfix.4),并且在所有版本的相同版本上。因此,在下面的注释中使用了路径分隔符。
在
androidgradlewrappergradle-wrapper.propertiesFlutter样板中指定了gradle分布4.10.2,它支持的插件版本最高为3.3.2。但是,
androidbuild.gradle仅取决于插件版本3.2.1(
classpath'com.android.tools.build:gradle:3.2.1')。目前尚不清楚为什么Flutter样板内部不一致。
要解决此问题,请更改
com.android.tools.build:gradle:3.2.1=>
com.android.tools.build:gradle:3.3.2,然后运行
flutter clean并再次尝试构建。
根据gradle发行说明,该插件和gradle的当前(2019年7月)版本分别为3.4.2和5.1.1。我不知道Flutter是否正式支持此版本,尽管它似乎可以在我的项目中使用,而且干净的构建速度明显更快。发行说明涵盖了3.2.x
=> 3.3.x => 3.4.x的部分更改。
要升级到当前版本,请编辑
androidgradlewrappergradle-wrapper.properties源gradle
5.1.1,然后将gradle插件升级到3.4.2。
gradle-wrapper.properties:
distributionUrl=https://services.gradle.org/distributions/gradle-5.1.1-all.zip
build.gradle:
classpath 'com.android.tools.build:gradle:3.4.2'
请注意,一旦使用gradle 5.1.1,您仍然可以将插件版本设置回3.2.1,以重现该问题。
我已经与Flutter团队讨论了一个问题,以尝试更好地理解这一点,如果他们有任何具体建议,将更新此答案。



