解决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设计模式之--SDK源码之策略模式的详解

    基于Android设计模式之--SDK源码之策略模式的详解

    本篇文章介绍了,基于Android设计模式之--SDK源码之策略模式的详解。需要的朋友参考下
    2013-04-04
  • Android Retrofit实现多图片/文件、图文上传功能

    Android Retrofit实现多图片/文件、图文上传功能

    Retrofit是Square开发的一个Android和Java的REST客户端库。这个库非常简单并且具有很多特性,相比其他的网络库,更容易让初学者快速掌握
    2017-03-03
  • OKHttp使用详解

    OKHttp使用详解

    OkHttp 是一套处理 HTTP 网络请求的依赖库,由 Square 公司设计研发并开源,目前可以在 Java 和 Kotlin 中使用,这篇文章主要介绍了OKHttp详解,需要的朋友可以参考下
    2024-01-01
  • Android中利用xml文件布局修改Helloworld程序

    Android中利用xml文件布局修改Helloworld程序

    这篇文章主要介绍了Android中利用xml文件布局修改Helloworld程序 的相关资料,需要的朋友可以参考下
    2016-07-07
  • Android实现圆形菜单悬浮窗

    Android实现圆形菜单悬浮窗

    这篇文章主要为大家详细介绍了Android实现圆形菜单悬浮窗,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Android绘制机器人小实例

    Android绘制机器人小实例

    这篇文章主要为大家详细介绍了Android绘制机器人小实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android 更新RecyclerView的好方法

    Android 更新RecyclerView的好方法

    在使用RecyclerView的时候不免要修改RecyclerView的数据,使用notifyDataSetChanged()来刷新界面,但是当数据多,而只是修改了一点的数据,或者刷新比较频繁,这样就会导致界面卡顿,用户交互特别不好,这时可以使用RecyclerView方法解决,具体实现代码大家参考下本文吧
    2017-06-06
  • Android开发之ClipboardManager剪贴板功能示例

    Android开发之ClipboardManager剪贴板功能示例

    这篇文章主要介绍了Android开发之ClipboardManager剪贴板功能,结合简单实例形式分析了Android使用ClipboardManager实现剪贴板功能的相关操作技巧,需要的朋友可以参考下
    2017-03-03
  • Android入门之弹出式对话框的实现

    Android入门之弹出式对话框的实现

    Android Studio里有一种Dialog叫PopWindow,它是一种“可阻塞式Dialog”,即弹出后除非你给它一个“动作”否则就一直显示在那。本文就将实现这样的弹出式对话框,感兴趣的可以了解一下
    2022-11-11
  • Android加载html中svg格式图片进行显示

    Android加载html中svg格式图片进行显示

    这篇文章主要为大家详细介绍了Android加载html中svg格式图片进行显示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论