为资产和资源文件夹指定不同的路径 - Android Studio

时间:2017-05-16 10:15:36

标签: android android-studio gradle

我需要构建我的项目,并选择使用不同的资源和资源文件夹。因此,我不想手动替换资产和资源文件夹,而是想知道gradle.build或任何库中是否有任何方法来指定这些文件夹的路径。

我遇到了this文章,其中提到了不同口味的内容。这是正确的方法吗?如果是,我该如何更改文件夹的路径?

productFlavors {
    flavor2 {
    }
    flavor1 {
    }
}

sourceSets{

    flavor2 {
        resources.srcDirs = ['src/flavor2/java','src/commonFiles/java']
        assets.srcDirs = ['/mybuilds/f2assets']
        res.srcDirs = ['res-flavor2','res']
    }

    flavor1 {
        resources.srcDirs = ['src/flavor2/java','src/commonFiles/java']
        assets.srcDirs = ['/mybuilds/f1assets']
        res.srcDirs = ['res-flavor1','res']
    }

}

我不确定如何使用不同的路径。为什么" resources.srcDirs"有2条路径?

1 个答案:

答案 0 :(得分:1)

构建口味是正确的方法。文件夹的名称是自动完成的,因此不需要在gradle中添加的代码。你唯一需要做的就是在app / src下 - 添加一个带有风味名称的文件夹,你可以在那里添加不同的res文件夹。在进行构建时,只需从Android Studio左下角的Build Variants视图中选择正确的风格。您的项目结构应如下所示:

project/app/src/main
project/app/src/flavor1/res
project/app/src/flavor2/res

并且在gradle中:

productFlavors {
  flavor2 {
  }
  flavor1 {
  }
}

请注意,默认情况下,gradle将从主文件夹中获取资源,如果它不存在,它将搜索该文件。因此,请确保您在flavor文件夹中拥有不同的资源,而不是在主文件夹中。