YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Chinese, Simplified subtitles

← Resource Merging

Get Embed Code
4 Languages

Showing Revision 5 created 09/15/2016 by Udacity Robot.

  1. 我们已经学会如何使用构建类型自定义 Gradle 行为
  2. 现在看看构建变种如何允许你控制应用
  3. 本身的行为
  4. 基于我们正在构建的应用
  5. Android Gradle 插件可创建各来源组的整体转换
  6. 根据构建的变种 它会合并来源和资源
  7. 这些来自嵌入最终 APK 的来源组
  8. 在最广泛的层面上
  9. 有位于来源主要部分的主要来源组
  10. 这是目前为止我们一直存放所有代码的地方
  11. 此外 每个产品风格都有一个来源组
  12. 在前面例子中 假设我们有
  13. 一个免费的和一个付费的产品风格
  14. 每个构建类型还有一个来源组 在这种情况下调试和发布
  15. 最后 每个最终变种还有一个来源
  16. 这就是来源免费调试、免费发布、付费调试和付费发布
  17. 如果我们有在付费风格而非免费风格中需要的来源和资源
  18. 可以将其放入付费来源中
  19. 同样 如果有需要用于调试构建而非用于发布构建的资源
  20. 则可将其放入来源调试中
  21. 最后 如果有仅付费调试变种需要的资源
  22. 可以将其放入来源付费调试中
  23. 在构建特定变种时
  24. Gradle 将照顾所有新出现的来源和需用于该变种的资源
  25. 它还将照顾多个配置中
  26. 定义的各种资源
  27. 规则是 覆盖的具体配置越多
  28. 具体配置就越少
  29. Java 的源文件不能被覆盖
  30. 因此需要小心以免定义同一类定义
  31. 否则将产生多个变种
  32. 对于资源文件 如 strings.xml 甚至 Android 清单
  33. Gradle 可以做得好一些
  34. 对于该类型的资源 这些文件将被合并
  35. 条目将被 ID 覆盖
  36. 为确定当构建特定变种时将哪些来源和资源包括在内
  37. 我们可以画一个像这样的图表
  38. 我们从中间开始
  39. 如果我们想构建付费调试变种 Gradle 将在主要部分包括每个项目
  40. 然后将每个项目合并到付费部分 覆盖任何冲突
  41. 下一步 Gradle 将从调试合并到每个项目 再次覆盖
  42. 最后 Gradle 将合并到付费调试中的
  43. 资源和来源