簡體   English   中英

在使用gradle構建特定的Android產品風味時,我可以排除區域資源(例如values-fr)

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

說我有這個目錄結構:

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

values-fr對於flavor1flavor2常見,因此valuesvalues-fr flavor2values-de應該打包

flavor3應該只打包valuesvalues-de flavor3 所以我只需要從flavor3排除values-fr資源文件夾。

我嘗試了很多組合,比如下面的組合,但是無法弄清楚,或者即使它是可能的。

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

編輯

我發現這個工作解決方案只包含德語用於上面的例子:

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

您還可以在此處查看 ICU的國家/地區代碼列表。

最終的工作解決方案是包含一種語言 - 在這種情況下,只有德語(de):

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

作為參考,您還可以在此處查看 ICU的國家/地區代碼列表。

您可以使用此代碼段排除這些文件夾:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM