【问题标题】:How to get versionName inside buildTypes gradle Android如何在buildTypes gradle Android中获取versionName
【发布时间】:2021-05-25 09:32:12
【问题描述】:

我已经配置了 2 种构建类型,如下所示:

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            versionNameSuffix "-prod"
            signingConfig signingConfigs.prod
            archivesBaseName "$versionName"
        }

        dev {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            versionNameSuffix "-dev"
            signingConfig signingConfigs.dev
            archivesBaseName "$versionName"
        }
}

问题是我得到这个错误:> Could not get unknown property 'versionName'

为什么这不起作用?问题出现在 archivesBaseName 上,似乎 $versionName 无法识别

【问题讨论】:

  • 因为它不是buildTypes.xxx 的一部分,而是defaultConfig ... 它在那里不可用,因为versionName 尚未准备好,因为它取决于buildTypesproductFlavors 的交叉跨度>

标签: android gradle groovy


【解决方案1】:

试试这个:

VersionName 是在 defaultConfig 中定义的 flavorDimensions。版本名称字段从 defaultConfig 捕获数据。

首先 android 优先考虑 defaultConfig 数据,然后如果数据相同,它会覆盖风味数据。

flavorDimensions "versionCode"
flavorDimensions "versionName"
flavorDimensions "appId"
productFlavors {
    UAT {
        dimension "versionCode"
        dimension "versionName"
        dimension "appId"
        buildConfigField "String", "BASE_URL", '"https://www.google.com/staging/app/api/v1/"'
        buildConfigField "boolean", "IS_LOCAL_DEV", "false"
        buildConfigField "boolean", "IS_UAT", "true"
    }
    QA {
        dimension "versionCode"
        dimension "versionName"
        dimension "appId"
        buildConfigField "String", "BASE_URL", '"https://www.google.com/staging/app/api/v1/"'
        buildConfigField "boolean", "IS_LOCAL_DEV", "false"
        buildConfigField "boolean", "IS_UAT", "false"
    }
}

【讨论】:

  • 请不要只发布代码而不解释这将如何帮助 OP
猜你喜欢
  • 2013-09-17
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
  • 2013-08-22
相关资源
最近更新 更多