产品风味重复类错误
我遵循docs指令,也是类似的答案,但是当我尝试构建和运行时,我仍然得到ClassA.java的重复类错误。产品风味重复类错误
我有两种风格的主要源集合和每个类有不同的风味,在自由或专业源集(不主要)中有不同风味的类。
任何建议???
项目目录结构:
project/ |
|---src/
|---free/
| |
| |---java/
| | |---com.abc
| | |---innerpkg
| | |-----classA.java
| |---res/
| |---AndroidManifest.xml
|
|---main
| |
| |---java/
| | |---com.abc
| | |-----classC.java
| | |-----classD.java
| |---res/
| | |---drawable/
| | |---layout/
| | |---values/
| |
| |---AndroidManifest.xml
|
|---pro/
| |
| |---java/
| | |---com.abc
| | |---innerpkg
| | |-----classA.java
| |---res/
| |---AndroidManifest.xml
摇篮文件:
... android {
...
flavorDimensions "flavor" // changes to one dimension instead of: flavorDimensions "free","pro"
productFlavors {
free {
dimension "flavor"
applicationId "com.abc"
signingConfig signingConfigs.configFree
}
pro {
dimension "flavor"
applicationId "com.abc.pro"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0.0"
signingConfig signingConfigs.configPro
}
}
sourceSets {
main {
jni.srcDirs = []
jniLibs.srcDir "src/main/jniLibs"
java.srcDirs = ['src/main/java']
}
free {
java.srcDirs = ['src/main/java', 'src/free/java']
manifest.srcFile "src/free/AndroidManifest.xml"
}
pro {
java.srcDirs = ['src/main/java', 'src/pro/java']
manifest.srcFile "src/pro/AndroidManifest.xml"
}
}
}
回答:
你可以有共同的一个模块,其中包含两个模块/香精使用的通用类。这将避免这个问题。
回答:
您可以在主src目录和产品风格中创建一个抽象类,实现此类。 现在你将有不同的实现同一类
回答:
问题是与flavorDimensions
,一旦我为这两种口味设置单一维度,我可以在每个相应的源集中放置相同的文件名。
然后我只需要将构建变体更改为我想要处理的变体。
我浪费这几个小时...
但愿这可能挽救别人那些失去小时
以上是 产品风味重复类错误 的全部内容, 来源链接: utcz.com/qa/260214.html