我的应用程序中有两个构建变体,一个是标准应用程序版本,第二个是自定义应用程序。
productFlavors {
customConfig {
minSdkVersion 14
applicationId 'es.com.custom'
targetSdkVersion 22
versionCode 3
versionName '3.0.0'
}
standard {
minSdkVersion 14
applicationId 'es.com.standard'
targetSdkVersion 22
versionCode 3
versionName '3.0.0'
}
对于自定义,我必须实现新功能,但仅用于自定义,因此标准版本将不提供这些新功能。我不确定我该做什么。
1.-两个班级,一个符合标准要求,一个符合自定义要求 2.-在标准课程中执行以下操作:
if (getPackageName()==customConfig )
// do the custom things
else
//do the standard things
答案 0 :(得分:4)
构建变体是Gradle使用一组特定规则的结果 组合构建中配置的设置,代码和资源 类型和产品口味。虽然您没有配置构建 直接使用变体,您可以配置构建类型和产品 形成它们的味道。
if(BuildConfig.Flavor.equals("customConfig"))
{
}
else
{
}
答案 1 :(得分:2)
您必须为每种风格创建源目录。 因此,您将能够为特定风格维护单独的文件。
请完成可以帮助您的 link 。
答案 2 :(得分:1)
您可以通过一种简单的方式完成此操作。您现在应该在项目中有一个名为“ standard ”的文件夹。只需在“标准”文件夹所在的同一文件夹中创建另一个名为“ customConfig ”的文件夹(或者可能是在gradle同步后创建的)。
在“ customConfig ”中创建另一个名为“res”的文件夹(您可能已经拥有它)。然后创建另一个文件夹“值”。在“values”文件夹中,您可以创建值文件。将文件命名为“ values.xml ”并返回项目。您“ values.xml ”文件应如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="custom_app_id">es.com.custom</string>s
</resources>
现在,在您的代码中,您可以检查您所处的变量环境:
if (getPackageName().equals(getString(R.string.custom_app_id)))// for custom
// do the custom things
else
//do the standard things
希望这有帮助!