Gradle:动态添加资产文件夹

Kam*_*rev 7 android build.gradle android-gradle-plugin

我有一个具有多种风格的项目,对于每种风格,我都有一个配置文件,用于指定要包含的资产。

这是我到目前为止所拥有的:

    applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def config = getFlavourConfig(variant.getFlavorName());
        if(config!=null) {
            if(config.get("font-assets") != null ) {
                config.get("font-assets").each {
                    println it
/*this is not working ->*/ variant.assets.srcDirs += ['src/extensions/assets/'+it]
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

getFlavourConfig 解析 gson 配置文件。json 有 ["font-assets":["fontfolder1","fontfolder2"]

在这一行

variant.assets.srcDirs += ['src/extensions/assets/'+it]
Run Code Online (Sandbox Code Playgroud)

我想将资产目录添加到风味中。有任何想法吗?

Kam*_*rev 3

我最终在构建时使用了一种风格并使用了以下行:

android.sourceSets.main.assets.srcDirs += ['src/extensions/assets/'+it]
Run Code Online (Sandbox Code Playgroud)