ProductFlavors - 一些 类 不编译
ProductFlavors - some classes does not compile
我有一个关于 productFlavors 的技术问题,也就是说,当我有不止一种类型的相同应用程序时,一些特定的 classes(例如只有一种口味)取决于选择的 BuildVariant '编译。好的我明白了。但是,我如何才能引用它们的共同 class?因为除非我选择特定的风格(使用这个 classes),否则整个应用程序都不会编译。
我只是一个学生,但我认为使用这个的人应该有一个更简单的方法,而不是查找整个代码并禁用其他风格的 classes...
我的代码
在gradle.build
productFlavors {
free {
applicationId "com.example.flavors.free"
}
pro {
applicationId "com.example.flavors.pro"
}
}
在普通activity我做这个验证
public boolean isPro() {
return "pro".equals(BuildConfig.FLAVOR);
}
并尝试此代码
if (isPro()) {
Toast.makeText(this, "Versão Pro", Toast.LENGTH_SHORT).show();
} else {
// startActivity(new Intent(getApplicationContext(), BannerActivity.class));
}
这个 BannerActivity 是一个 free flavor 的特定版本(在 free flavor 文件夹中创建),然后当我使用另一个 BuilderVariant(pro flavor)时,如果我不禁用这个 activity,整个代码不工作(不编译)...
只有一个 activity 很容易禁用,但是什么时候有很多?
非常感谢。
您可以在专业版中创建空的 BannerActivity。它不会被使用,但你的应用程序会编译。
您可以在每种风格中制作两个调用 activity 的版本。在免费版中,您将拥有 startActivity()
,在专业版中 - Toast.makeText()
我有一个关于 productFlavors 的技术问题,也就是说,当我有不止一种类型的相同应用程序时,一些特定的 classes(例如只有一种口味)取决于选择的 BuildVariant '编译。好的我明白了。但是,我如何才能引用它们的共同 class?因为除非我选择特定的风格(使用这个 classes),否则整个应用程序都不会编译。 我只是一个学生,但我认为使用这个的人应该有一个更简单的方法,而不是查找整个代码并禁用其他风格的 classes...
我的代码
在gradle.build
productFlavors {
free {
applicationId "com.example.flavors.free"
}
pro {
applicationId "com.example.flavors.pro"
}
}
在普通activity我做这个验证
public boolean isPro() {
return "pro".equals(BuildConfig.FLAVOR);
}
并尝试此代码
if (isPro()) {
Toast.makeText(this, "Versão Pro", Toast.LENGTH_SHORT).show();
} else {
// startActivity(new Intent(getApplicationContext(), BannerActivity.class));
}
这个 BannerActivity 是一个 free flavor 的特定版本(在 free flavor 文件夹中创建),然后当我使用另一个 BuilderVariant(pro flavor)时,如果我不禁用这个 activity,整个代码不工作(不编译)... 只有一个 activity 很容易禁用,但是什么时候有很多?
非常感谢。
您可以在专业版中创建空的 BannerActivity。它不会被使用,但你的应用程序会编译。
您可以在每种风格中制作两个调用 activity 的版本。在免费版中,您将拥有
startActivity()
,在专业版中 -Toast.makeText()