今年早些时候,我为客户发布了一个应用程序,我们使用了味道尺寸。我们有
Full | Preview
Apple | Apple | Apple.Preview
Orange | Orange | Orange.Preview
这完美无缺。但现在我需要将Banana
添加到项目中作为另一个应用程序,事情变得混乱。
在完整版本中,我有一些现有版本共享的功能,我希望完全从新应用程序中省略。还有一些资源可以很好地删除,但由于这些是小文件,我并不关心它。我也希望避免使用Full
Preview
版Banana
,但如果我不能这样做,那么它就可以了。 我真正需要做的是将Apple
和Orange
中的一些文件分组,将所有3个文件分组。有点像制作第三个维度。有什么建议吗?
答案 0 :(得分:0)
首先,对于您的不同文件,请使用productFlavors
或Gradle
apple{
applicationId "com.android.apple"
buildConfigField "String", "MY_DISTINC_STUFF", "APPLE"
}
orange{
applicationId "com.android.orange"
buildConfigField "String", "MY_DISTINC_STUFF", "ORANGE"
}
banana{
applicationId "com.android.banana"
buildConfigField "String", "MY_DISTINC_STUFF", "BANANA"
}
如果您想使用该字符串,请使用此BuildConfig.MY_DISTINC_STUFF
其次,如果要将一些可用于1,2或全部的文件分组。你必须这样做。
src
文件夹build.gradle
(应用级别)中的定义命名。例如:文件夹apple
,文件夹orange
,文件夹banana
。 DON'T
删除您的主文件夹main
文件夹。 (不要关心其他3人)same
名称但different folder
的4个文件。 Build Variants
。Android Runtime将决定必须加载哪个文件。