解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com

 更新时间:2017年11月07日 10:39:06   作者:沉水之木  
这篇文章主要介绍了解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com,需要的朋友可以参考下

这个问题是Android studio升级到3.0之后,运行的时候会提示gradle要升级到3.5版本才能编译。于是我把我的gradle升级到了

 gradle-4.1-milestone-1 版本,是2017年7月份最新版本了。

于是我把主程序的build.gradle中的gradle版本改成了这个,具体指定哪个版本我也不知道,于是就写了个3.0+

 dependencies {
 classpath 'com.android.tools.build:gradle:3.0+' 
}

然后再次编译,又发现了毒。

提示: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

这个一个错误,意思是:所有的flavors都必须属于同一个风格。

=。=懵逼

去翻墙看了它提供的地址才知道:

 Plugin 3.0.0 includes a new dependency mechanism that automatically matches variants when consuming a library. This means an app's debug variant automatically consumes a library's debug variant, and so on. It also works when using flavors—an app's redDebug variant will consume a library's redDebug variant. To make this work, the plugin now requires that all flavors belong to a named flavor dimension —even if you intend to use only a single dimension. Otherwise, you will get the following build error:
[cpp] view plain copy
Error:All flavors must now belong to a named flavor dimension. 
The flavor 'flavor_name' is not assigned to a flavor dimension. 
 To resolve this error, assign each flavor to a named dimension, as shown in the sample below. Because dependency matching is now taken care of by the plugin, you should name your flavor dimensions carefully. For example, if all your app and library modules use the foo dimension, you'll have less control over which flavors are matched by the plugin.

// Specifies a flavor dimension. 
flavorDimensions "color" 
productFlavors { 
  red { 
  // Assigns this product flavor to the 'color' flavor dimension. 
  // This step is optional if you are using only one dimension. 
  dimension "color" 
  ... 
 } 
 blue { 
  dimension "color" 
  ... 
 } 
} 

大致是说,Plugin 3.0.0之后有一种自动匹配消耗库的机制,便于debug variant 自动消耗一个库,然后就是必须要所有的flavor 都属于同一个维度。

为了避免flavor 不同产生误差的问题,应该在所有的库模块都使用同一个foo尺寸。

= 。=还是懵逼。说一堆依然不是很理解。

但是我们从中已经知道解决方案了:

在主app的build.gradle里面的

 defaultConfig {
 targetSdkVersion:***
minSdkVersion :***
versionCode:***
 versionName :***
//版本名后面添加一句话,意思就是flavor dimension 它的维度就是该版本号,这样维度就是都是统一的了
flavorDimensions "versionCode"
}

总结

以上所述是小编给大家介绍的解决Error:All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Android实现简单的答题系统

    Android实现简单的答题系统

    这篇文章主要为大家详细介绍了Android实现简单的答题系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • android实现倒计时功能代码

    android实现倒计时功能代码

    实现倒计时每隔1秒,变换一下时间,截图如下,感兴趣的朋友想看下实现代码,希望对你学习有所帮助
    2013-06-06
  • Android端TCP长连接的性能优化教程分享

    Android端TCP长连接的性能优化教程分享

    在开发过程中,我们经常会用到TCP/IP连接实现即时数据传输,下面这篇文章主要给大家介绍了关于Android端TCP长连接的性能优化的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-03-03
  • Android仿美团分类下拉菜单实例代码

    Android仿美团分类下拉菜单实例代码

    这篇文章主要为大家详细介绍了Android仿美团分类下拉菜单实例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Android文字基线Baseline算法的使用讲解

    Android文字基线Baseline算法的使用讲解

    今天小编就为大家分享一篇关于Android文字基线Baseline算法的使用讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • Android实现简单实用的搜索框

    Android实现简单实用的搜索框

    这篇文章主要为大家详细介绍了Android实现简单实用的搜索框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Android与iOS包体优化及一键自动打包脚本

    Android与iOS包体优化及一键自动打包脚本

    这篇文章主要为大家介绍了安卓与iOS包体优化及一键自动打包脚本详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Android 二维码 生成和识别二维码 附源码下载

    Android 二维码 生成和识别二维码 附源码下载

    这篇文章主要介绍了Android 生成和识别二维码的方法,提供源码下载,需要的朋友可以参考下。
    2016-06-06
  • React Native与Android 原生通信的方法

    React Native与Android 原生通信的方法

    本篇文章主要介绍了React Native与Android 原生通信的方法,主要是分享原生模块与JS传递数据的几种方式,非常具有实用价值,需要的朋友可以参考下
    2018-05-05
  • Android开发实现判断通知栏是否打开及前往设置页面的方法

    Android开发实现判断通知栏是否打开及前往设置页面的方法

    这篇文章主要介绍了Android开发实现判断通知栏是否打开及前往设置页面的方法,涉及Android通知栏的打开、判断、设置等相关操作技巧,需要的朋友可以参考下
    2018-01-01

最新评论