简体   繁体   English

在使用gradle构建特定的Android产品风味时,我可以排除区域资源(例如values-fr)

[英]Can I exclude regional resources (e.g. values-fr) when building a particular Android Product Flavor with gradle

Say I have this directory structure: 说我有这个目录结构:

app
--src
   |--main
   |   |--java
   |   |--res
   |       |--drawable
   |       |--values
   |       |--values-fr
   |       |--values-de
   |
   |--flavor1
   |   |--res
   |       |--drawable
   |
   |--flavor2
   |   |--res
   |       |--drawable
   |
   |--flavor3
       |--res
           |--drawable

values-fr is common for both flavor1 and flavor2 , and so values , values-fr and values-de should get packaged values-fr对于flavor1flavor2常见,因此valuesvalues-fr flavor2values-de应该打包

flavor3 should only package values and values-de . flavor3应该只打包valuesvalues-de flavor3 So I need to exclude the values-fr resource folder from the flavor3 only. 所以我只需要从flavor3排除values-fr资源文件夹。

I've tried loads of combinations such as those below, but cannot figure it out, or even if it's possible. 我尝试了很多组合,比如下面的组合,但是无法弄清楚,或者即使它是可能的。

sourceSets {
    flavor3 {
        res.exclude 'values-fr/**'
        res.exclude 'values-fr/'
    }
}

EDIT 编辑

I found this working solution to include only German for the above example using: 我发现这个工作解决方案只包含德语用于上面的例子:

productFlavors {
    flavour3 {
        resConfigs 'de' // include '-de' resources, along with default 'values'
    }
}

You can also check the list of country codes from ICU here . 您还可以在此处查看 ICU的国家/地区代码列表。

The final working solution is to include a language - in this case, only German (de): 最终的工作解决方案是包含一种语言 - 在这种情况下,只有德语(de):

productFlavors {
    flavour3 {
        resConfigs 'de' // include '-de' resources, along with default 'values'
    }
}

As a reference, you can also check the list of country codes from ICU here . 作为参考,您还可以在此处查看 ICU的国家/地区代码列表。

You can exclude those folders by using this snippet: 您可以使用此代码段排除这些文件夹:

sourceSets {
  flavor3 {
    main {
      resources {
        srcDir 'res'
        exclude '**/values-fr/**'
      }
    }
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Android gradle库资源的产品风味 - Android gradle library resources in product flavor Gradle:构建风味时从src / main中排除软件包 - Gradle: exclude package from src/main when building a flavor Android在PlayStore中排除了Neuxs 7和Nexus 10 - Android exclude e.g. Neuxs 7 and Nexus 10 in PlayStore Android Studio,基于风味构建时可使用Gradle不同的代码 - Android Studio, Gradle different code when building based on flavor 如何访问Android资源,例如libgdx中的尺寸? - How to access Android resources e.g. dimensions in libgdx? android gradle - 如何创建新的产品风味但重用另一种风味的值? - android gradle - how to create a new product flavor but reuse values from another flavor? Android Specific Gradle产品风味组合 - Android Specific Gradle product flavor combinations 如何运行具有不同首选项的两个Android Studio实例,例如不同的SDK位置,不同的gradle版本 - How do I run two instances of Android Studio with different preferences e.g. different SDK locations, different gradle versions 如何禁用Android的特定标签的内部日志记录(例如AbsListView,GestureDetector,endeffect) - How can I disable Android's internal logging for specific tags (e.g. AbsListView, GestureDetector, endeffect) 我可以使Android WebView支持其他图像格式(例如TIFF)吗? - Can I make Android WebView support other image formats (e.g. TIFF)?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM