我把AndroidStudio从2.0+升级到3.0+时,今天在AndroidStudio3.0+上进行多渠道打包时遇到了如下的错误提示:
All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html
不明白这句话没关系,点击链接跳转到具体的页面去看说明。 如果懒得翻墙,那就把这句英文复制粘贴到浏览器,肯定一大堆解决方法。 开始我也想这么做,省事,但是转头想想,还是培养一下自己阅读问题的能力吧,于是翻墙过去看说明。 然后就见到了下图的说明:
大概的意思是(Gradle)这个插件现在(3.0.0)需要将你原来所有的flavor进行统一管理,用属性名flavor dimension进行配置,即使你只有一维属性也需要这样做,否则你就会得到如题的错误。解决的方式就是首先你需要用flavorDimensions这个属性声明一个或多个维度,然后,给每个flavor分配一个你已经声明好的维度(就像下面的例子中给出的)。因为这个插件会为你自动匹配依赖所以你应该仔细的命名你的flavor dimension是,最好不要太随意。这样做的好处就是让你对你本地的代码和资源与它们相应版本的App进行匹配时更具可控性。其实就是进行版本差异化开发时,不同版本的App能够很好的访问与它相对应的资源(比如图片,字符串)和依赖库之类。
读不懂没关系,看个大概或者google翻译,然后照猫画虎的去做,如图所示:
最后sync一下,解决! |