产品风味重复类错误

我遵循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

回到顶部