当前位置:首页 > 移动开发 > 正文

Learn more at https://d.android.com

2024-03-31 移动开发

由于我把主程序的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:
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"
}

就直接解决这个问题。然后app 就可以happy的运行起来了

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/yidong/18359.html