如何在Gradle Build文件中使用Android Studio中的自定义源集

时间:2015-01-13 10:09:27

标签: android gradle android-studio android-gradle

我正在努力将Android应用程序从Eclipse迁移到Android Studio。该应用程序自然有3个风味维度的东西:

flavorDimensions("skin", "cost", "market")
productFlavors {
    skin1 {
        flavorDimension "skin"
    }
    skin2 {
        flavorDimension "skin"
    }
    free {
        flavorDimension "cost"
    }
    paid {
        flavorDimension "cost"
    }
    google {
        flavorDimension "market"
    }
    samsung {
        flavorDimension "market"
    }
    amazon {
        flavorDimension "market"
    }

有了这个,我有三个有些相关的问题,我似乎无法找到明确的解决方案。

第一个问题是“applicationId”依赖于3个维度中的2个,即皮肤和成本。从上面的示例,如果我构建skin1PaidGoogle,如果我构建skin2FreeAmazon,我将需要“com.example.skin1”,我需要“com.example.skin2_free”。这是一个实时应用程序,因此没有机会在这里进行更改。如何实现这一目标。

第二个问题是需要自定义src / res集。默认为我提供了每种风味的文件夹以及所有风味的所有组合。所以我得到了“skin1”,“skin2”,“免费”,“谷歌”等文件夹,我得到了“skin1FreeGoogle”和“skin1PaidAmazon”等文件夹。我知道我也得到了构建类型的变种。我还需要像“skin1Free”“freeAmazon”“FreeGoogle”这样的文件夹。我只需要这里无数可能性的一小部分。如何将这些附加文件夹添加到srcSets中?我知道影响合并的优先顺序,但如果我可以添加文件夹,我可以管理它。

第三个问题与依赖关系有关。我可以有“编译”行,我可以有“freeCompile”行,但我还需要“freeAmazonCompile”类型行。

如果没有这些功能,在我看来,我要么必须做出许多妥协并且有许多重复的srcSets,所以任何帮助都非常感激。

0 个答案:

没有答案