【问题标题】:Build flavors for different version of same class with small changes为同一类的不同版本构建风味,只需稍作改动
【发布时间】:2017-03-08 19:30:09
【问题描述】:

我有一个带有用于配置的 java 类的 android 应用程序。我想用相同的类的不同版本制作两种产品风格,只需稍作改动。

 flavorDimensions "flavor"
    productFlavors {
        flavor1 {
            dimension "flavor"
            applicationId "net.flavor1"
        }

        flavor2{
            dimension "flavor"
            applicationId "net.flavor2"
        }


    }

    sourceSets {
        flavor1 {
            java.srcDirs = ['src/main/java/net.flavor1/Configuration.java']

        }

        flavor2{
            java.srcDirs = ['src/flavor2/Configuration.java']


        }
    }

【问题讨论】:

  • 如果有小的变化,您也可以使用布尔值或包名检查来检查

标签: android gradle build version configure


【解决方案1】:

只需在src/flavor1src/flavor2 中添加不同版本的类(在相同的包结构中)。您不需要添加那些 java.srcDirs 设置。例如,如果您的 Configuration 类在 com.example 包中,那么您将拥有

src/flavor1/com/example/Configuration.java
src/flavor2/com/example/Configuration.java

【讨论】:

    【解决方案2】:

    在每种风味下添加versionNameversionCode。如果你把它留空。 Gradle 会使用默认的

    flavorDimensions "flavor"
        productFlavors {
            flavor1 {
                dimension "flavor"
                applicationId "net.flavor1"
                versionName "2.0.1"
                versionCode 31
            }
    
            flavor2{
                dimension "flavor"
                applicationId "net.flavor2"
                versionName "1.0.1"
                versionCode 3
            }
    
    
        }
    
        sourceSets {
            flavor1 {
                java.srcDirs = ['src/main/java/net.flavor1/Configuration.java']
    
            }
    
            flavor2{
                java.srcDirs = ['src/flavor2/Configuration.java']
    
    
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2014-07-05
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2015-10-06
      相关资源
      最近更新 更多