脚本优化

对于上面的多渠道打包脚本,由于每个渠道的替换工作基本类似,因此在熟悉groovy语言之后,可以对脚本进行以下优化。

  1. productFlavors {
  2. product1 {
  3. // manifestPlaceholders = [CHANNEL_VALUE: "PRODUCT1"]
  4. }
  5. product2 {
  6. // manifestPlaceholders = [CHANNEL_VALUE: "PRODUCT2"]
  7. }
  8. product3 {
  9. // manifestPlaceholders = [CHANNEL_VALUE: "PRODUCT3"]
  10. }
  11. }
  12. productFlavors.all { flavor ->
  13. flavor.manifestPlaceholders = [CHANNEL_VALUE: name]
  14. }

增加的productFlavors.all领域对所有的productFlavors进行了遍历,并使用其name作为渠道名。这些name实际上就是product1、product2、product3。