升级过程
将project下的build.gradle中的gradle plugin版本升级到3.0.1
dependencies { classpath 'com.android.tools.build:gradle:3.0.1' //原先为2.3.3 }
修改后通过Sync project可以得知gradle-wrapper版本低于gradle plugin 3.0.1所要求的最低版本,根据提示将gradle 版本升级到4.1。
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip //原先为 3.3
更改仓库,如下:
buildscript { repositories { ... // You need to add the following repository to download the new plugin. google() } dependencies { classpath 'com.android.tools.build:gradle:3.0.1' } }
再次Sync project会出现以下错误,
Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
意思是需要我们在app/build.gradle加上默认的flavor dimension:
flavorDimensions "default" // 即以下说的风味维度
gradle plugin 3.0以上包含一项新的依赖项机制,这种机制可以在消费库时自动匹配变体。 也就是说,应用的 debug 变体将自动消费库的 debug 变体,等等。 这种机制也适用于使用风味的情况 - 应用的 redDebug 变体将消费库的 redDebug 变体。 要使这种机制发挥作用,插件现在要求属于给定风味维度的所有风味 - 即使您仅准备使用一个维度,也是如此。
这个属性主要用于不同渠道打包时的配置问题,至于它的使用具体请参考