首先,我刚刚检查了StackOverflow中有关此问题的许多主题,但没有一个解决了我的问题。我的问题是;我有2种不同的口味,分别是主要口味和实验用口味。 主要 是默认样式。我只想在实验版本中改写或使用我的A.java,但这导致我重复的类发现错误。因为我相信可以通过口味使用相同的命名类,所以如何防止或解决此问题?还是我做错了什么?我希望你能帮助我解决我的问题。预先感谢。
项目结构
build.gradle
productFlavors{
main{
dimension = "default"
applicationId "com.example.yekta.basicApp.main"
}
experimental{
dimension = "default"
applicationId "com.example.yekta.basicApp.experimental"
}
}
sourceSets {
main {
java.srcDirs = ['src/main/java']
res.srcDirs = ['src/main/res']
assets.srcDirs = ['src/main/assets']
}
experimental {
java.srcDirs = ['src/experimental/java']
res.srcDirs = ['src/experimental/res']
assets.srcDirs = ['src/experimental/assets']
}
}
答案 0 :(得分:0)
步骤1:将您的一种口味从main
重命名为不是main
,test
或androidTest
的任何其他有效值(或者,在您的情况下, experimental
,因为您已经有了该名称的味道)
第2步:使用您从第1步中选择的名称,为新重命名的风味设置来源集。
第3步:将A.java
从main
移至您在第2步中创建的源集
main
源代码集用于将在所有产品风格和内部版本中使用的代码。您无法通过尝试将main
变成产品来改变这种情况。
请注意,在Android Studio 3.2上,似乎尝试定义名为main
的产品样式会导致构建崩溃-至少在我尝试重现此问题时崩溃。