如何为不同的风格和构建类型设置 applicationid?

Posted

技术标签:

【中文标题】如何为不同的风格和构建类型设置 applicationid?【英文标题】:How to set applicationid for different flavor and buildtype? 【发布时间】:2021-11-16 16:53:37 【问题描述】:

我有

2 种口味

风味1 风味2

5 种构建类型

开发 调试 uat 预生产 发布

我想将完整的 applicationId 设置为

com.example.flavor1dev com.example.flavor1debug com.example.flavor1uat com.example.flavor1preprod com.example.flavor1 com.example.flavor2.dev com.example.flavor2.debug com.example.flavor2.uat com.example.flavor2.preprod com.example.flavor2

我用的是kotlin-dsl,请帮忙

【问题讨论】:

如果没有 Gradle 的任务,我认为这是不可能的。您可以在 build.gradle 文件中设置“productFlavors”,为每个 Flavour 提供一个“applicationIdSuffix”,但没有任何关于 BuildTypes 的内容。所以你可以创建“com.example.flavor1”和“com.example.flavor2”自动ApplicationID,但里面没有BuildType。 这能回答你的问题吗? How to set different applicationId for each flavor combination using flavorDimensions when using Gradle Kotlin-DSL? 【参考方案1】:

将你的 build.gradle 更新到下面

   android 
 
   flavorDimensions "flavors" , "enviornment"

    productFlavors 
        flavor1 
            dimension "flavors"
             applicationId "com.example.flavor1"
         
        flavour2 
            dimension "flavors"
            applicationId "com.example.flavor2"
        
        dev 
            dimension "enviornment"
            manifestPlaceholders.appName = "(DEV)"
            applicationIdSuffix 'dev'
        
        debug 
            dimension "enviornment"
            manifestPlaceholders.appName = "(Debug)"
            applicationIdSuffix 'debug'
        
        uat 
            dimension "enviornment"
            manifestPlaceholders.appName = "(UAT)"
            applicationIdSuffix 'uat'
        
        preprod 
            dimension "enviornment"
            manifestPlaceholders.appName = "(PreProd)"
            applicationIdSuffix 'preProd'
        
       release 
            dimension "enviornment"
            manifestPlaceholders.appName = "(your app name)"
        
    

【讨论】:

以上是关于如何为不同的风格和构建类型设置 applicationid?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 jenkins 构建具有多种风格的应用程序设置 dexguard?

如何为多个构建配置选择不同的 app.config

如何为每种产品风格提供不同的启动器图标

如何为生产和开发环境 iOS 设置不同的证书和配置文件?

如何为每种风格生成单独的签名APK?

如何为两种不同类型的用户创建一个登录活动页面?