Android ProductFlavors-某些类不编译
我有一个关于productFlavors的技术问题,也就是说,当我有多个类型的同一个应用程序时,一些特定的类(例如,只有一种风格的类)会根据BuildVariant choosen的类型进行编译。好的,我明白了。但是,我怎样才能引用一个普通类的它们呢?因为除非我选择特殊的风格(使用这个类),否则整个应用程序不会编译。 我只是一个学生,但我认为使用它的人应该有一个更简单的方法,而不是寻找整个代码并禁用其他风格的类 我的代码 在格拉德尔Android ProductFlavors-某些类不编译,android,android-productflavors,Android,Android Productflavors,我有一个关于productFlavors的技术问题,也就是说,当我有多个类型的同一个应用程序时,一些特定的类(例如,只有一种风格的类)会根据BuildVariant choosen的类型进行编译。好的,我明白了。但是,我怎样才能引用一个普通类的它们呢?因为除非我选择特殊的风格(使用这个类),否则整个应用程序不会编译。 我只是一个学生,但我认为使用它的人应该有一个更简单的方法,而不是寻找整个代码并禁用其他风格的类 我的代码 在格拉德尔 productFlavors { free {
productFlavors {
free {
applicationId "com.example.flavors.free"
}
pro {
applicationId "com.example.flavors.pro"
}
}
在普通活动中,我进行了此验证
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)时,如果我不禁用这个活动,整个代码就不能工作(不能编译)。。。
只有一个活动很容易禁用,但是当有多个活动时呢
非常感谢
Toast.makeText()中拥有startActivity()
Toast.makeText()中拥有startActivity()
它起作用了。但是在src/namefravor/packageName中,包的名称必须相同,如果这些packageName不同,代码也不会编译,因为导入也会不同。谢谢你,很有效。但是在src/namefravor/packageName中,包的名称必须相同,如果这些packageName不同,代码也不会编译,因为导入也会不同。非常感谢。