Android覆盖文件的味道
在我的android应用程序中,我有一个文件,我想为特定的口味覆盖它。 我的结构: 然而,当我构建funki风格时,我仍然看到使用了main中的Computer类。 在我的build.gradle中,我有:Android覆盖文件的味道,android,Android,在我的android应用程序中,我有一个文件,我想为特定的口味覆盖它。 我的结构: 然而,当我构建funki风格时,我仍然看到使用了main中的Computer类。 在我的build.gradle中,我有: productFlavors { somename{ resValue "string", "app_name", "some name" } funki { resValue "string", "app_name", "Funki
productFlavors {
somename{
resValue "string", "app_name", "some name"
}
funki {
resValue "string", "app_name", "Funki App"
applicationIdSuffix ".funki"
}
}
我看到的每一次构建都使用了main中的计算机文件。
所有其他覆盖(例如,res文件)都是基于我构建的风格覆盖的。
如何为特定的风格重写类?您应该得到一个“复制类”构建错误-至少,这是以前的行为。不能在flavor中重写Java/Kotlin类
您可以做的是从
main
源代码集中删除Java/Kotlin类,并使其具有您所有的风格。因此,将Computer.java
从main
移动到somename
,并将您的另一台Computer.java
放在funki
中,我最后检查了代码中的productflavor,如下所示:
if(BuildConfig.FLAVOR.equals("funki")){
根据if/else,我执行所需的代码