Flavor ‘xxxx’ has unknown dimension ‘app’.和Unable to load class ‘org.gradle.api.internal.compo

Flavor ‘xxxx’ has unknown dimension ‘app’.和Unable to load class ‘org.gradle.api.internal.compo

Flavor ‘xxxx’ has unknown dimension ‘app’.

android studio 3.0,更新

classpath ‘com.android.tools.build:gradle:3.0.0’以后,出现报错

Error:All flavors must now belong to a named flavor dimension.
The flavor ‘flavor_name’ is not assigned to a flavor dimension.

报错的原因:查看给出的链接地址:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html#apply_plugin

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:
意思大致说,这个3.0的插件要求flavor dimension必须要有,哪怕只有一个维度也要声明, flavorDimensions 是在android{}中的字段:可以理解成维度,比如下面只声明了一个渠道的维度,

flavorDimensions “channel”
//渠道
productFlavors {

    qh360 {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"]
        dimension "channel"
    }
    baidu {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
        dimension "channel"
    }

}

关于flavorDimensions 可以生成多维度,比如下面的代码

// 两个维度
flavorDimensions “isFree”, “channel”

productFlavors {
free {
// 免费和付费用isFree做标识,小米和htc为发布到的平台用channel做标识,因而最后生成4
//种flavor,加上buildtype就是4*2=8种
dimension “isFree”

}

paid {
  dimension "isFree"
  ...
}

xiaomi{
    dimension "channel"
    ...
}

htc{
    dimension "channel"
    ...
}

}

其实就是在3.0插件以后,google要求必须添加这个flavorDimensions 这个字段哪怕是只有一个维度也要写上才不报错,
然后看到stackoverflow上的回答更简单的使用如下:

android {

defaultConfig {

    flavorDimensions 'default'
}

或是:

android {

defaultConfig {

    flavorDimensions 'versionCode'
}

针对Unable to load class ‘org.gradle.api.internal.compo

classpath ‘com.novoda:bintray-release:0.4.0’改成最新(当前是0.8),
然后还有就是依赖其他项目版本的问题,统一管理。
//统一管理
ext {
var = [
minSdkVersion : 19,
targetSdkVersion : 27,

        compileSdkVersion   : 27,
        buildToolsVersion   : "27.0.2",

        versionName         : "2.9.2",
        versionCode         : 292,

        supportVersion      : "27.1.1",

        okhttploggingVersion: '3.8.1',
        okhttpVersion       : '3.8.1',
        retrofitVersion     : '2.4.0',

        rxjavaVersion       : '2.1.12',
        rxandroidVersion    : '2.0.2',

]

}
这种多渠道,以及依赖项目。Android studio建议用正式版,别急着尝鲜我的版本是3.14.
希望对你有所帮助,纸上得来终觉浅,书到用时方恨少。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115046.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Weka简介

    Weka简介简介 Weka 的全名是怀卡托智能分析环境 WaikatoEnvir 是一款免费的 非商业化 与之对应的是 SPSS 公司商业数据挖掘产品 Clementine 的 基于 JAVA 环境下开源的机器学习 machinelearn 以及数据挖掘 dataminining 软件 它和它的源代码可在其官方网站下载 有趣的是 该软件的缩写 WEKA

    2025年9月14日
    2
  • Oracle创建用户和授权

    Oracle创建用户和授权Oracle创建用户和授权一、安装后修改管理员密码并登陆运行cmd命令行录入sqlplus/nolog无用户名登录conn/assysdba连接到数据本地数据alterusersystemidentifiedbypassword;修改System的密码为password登陆system创建用户和授权其中的路径一定…

    2022年5月19日
    83
  • Sql Prompt 10激活成功教程[通俗易懂]

    Sql Prompt 10激活成功教程[通俗易懂]1.下载安装文件待审核…2.激活成功教程修改hosts文件(如若跳过此步骤,虽然可以激活成功教程成功,但是重启电脑之后,又得重新激活成功教程)首先系统HOSTS文件添加以下屏蔽网络HOSTS路径:C:\Windows\System32\drivers\etc127.0.0.1red-gate.com127.0.0.1www.red-gate.com127.0.0.1licensing.red-gate.com127.0.0.1productlogin.red-ga…

    2022年7月26日
    104
  • SQL注入报错注入函数[通俗易懂]

    SQL注入报错注入函数[通俗易懂]前言报错注入的前提是当语句发生错误时,错误信息被输出到前端。其漏洞原因是由于开发人员在开发程序时使用了print_r(),mysql_error(),mysqli_connect_error()函数将mysql错误信息输出到前端,因此可以通过闭合原先的语句,去执行后面的语句。常用报错函数updatexml()是mysql对xml文档数据进行查询和修改的xpath函数extractvalue()是mysql对xml文档数据进行查询的xpa…

    2022年9月30日
    2
  • pycharm激活教程2021破解方法

    pycharm激活教程2021破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    64
  • element-ui中upload组件如何传递文件及其他参数

    element-ui中upload组件如何传递文件及其他参数

    2021年10月11日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号