gpt4 book ai didi

没有重复类错误的 Android 基础 flavor

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:04:01 26 4
gpt4 key购买 nike

我的应用程序有几个版本:普通版本,比如 mainapp 和几个特定于客户的版本,比如 custom1custom2自定义3。我想为所有 customX 口味都添加基础口味。

我想这样做:

创建项目结构:

app\src\main
app\src\mainapp
app\src\commonflavor
app\src\custom3

和配置:

productFlavors {
mainapp {
}
custom1 {
}
custom2 {
}
custom3 {
}
}

sourceSets {
custom1 {
java.srcDirs = ['src/commonflavor/java']
}
custom2 {
java.srcDirs = ['src/commonflavor/java']
}
custom3 {
java.srcDirs = ['src/commonflavor/java', 'src/custom3/java']
}
}

commonflavor 中,我为所有 customX 风格放置了通用的 java 类,比如 MainActivity.javaSecondActivity.java。但在 custom3 中,我需要单独的 SecondActivity.java

在这种情况下,我有一个错误error: duplicate class: SecondActivity from src/commonflavor/java and src/custom3/java

现在我已经使用类复制解决了这个问题:

sourceSets {
custom1 {
java.srcDirs = ['src/commonflavor/java']
}
custom2 {
java.srcDirs = ['src/commonflavor/java']
}
custom3 {
java.srcDirs = ['src/custom3/java']
}
}

我已经从 srcDirs 复制了 src/commonflavor/java 并将 MainActivity.java 复制到 custom3。问题是我在 src/commonflavor/javasrc/custom3/java

中有 2 个 MainActivity.java 文件的克隆

如何在不重复代码的情况下解决这种情况?

最佳答案

我创建的最佳解决方案是将所有类写入 app\src\main 并在需要的地方添加:

if(BuildConfig.FLAVOR.equals("mainapp")) {
// mainapp code
} else {
// coomon flavor code
}

关于没有重复类错误的 Android 基础 flavor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27200857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com