Return to Video

Resource Merging

  • 0:00 - 0:03
    我们已经学会了如何使用构建类型
    来自定义 Gradle 的行为。
  • 0:03 - 0:06
    所以现在我们来看看构建
    变种如何允许你
  • 0:06 - 0:08
    控制你的应用程序本身的行为。
  • 0:08 - 0:10
    基于我们正在构建的应用程序,
  • 0:10 - 0:13
    Android Gradle 插件可创建各
    来源组的整体转换。
  • 0:13 - 0:16
    依赖于你正构建的变种,它将合并各来源
  • 0:16 - 0:18
    与来自嵌入最终 APK 的来源组的来源。
  • 0:18 - 0:21
    在最广泛的层面上,
  • 0:21 - 0:24
    有位于来源主要部分的主要来源组。
  • 0:24 - 0:27
    这是目前为止我们一直存放我们所有代码的地方。
  • 0:27 - 0:30
    此外,每个产品风格都有一个来源组。
  • 0:30 - 0:33
    采用我们以前的例子,
    我们假设我们有一个免费
  • 0:33 - 0:35
    的和一个付费的产品风格。
  • 0:35 - 0:39
    每个构建类型还有一个来源组,
    在这种情况下调试和发布。
  • 0:39 - 0:42
    最后,每个最终变种还有一个来源。
  • 0:42 - 0:47
    因此这就是来源免费调试、
    免费发布、付费调试和付费发布。
  • 0:47 - 0:50
    如果我们有我们在付费风格而非
    免费风格中需要的来源和资源,
  • 0:50 - 0:54
    我们可以将其放入付费来源。
  • 0:54 - 0:58
    同样,如果有我们需要用于调试
    构建而非用于发布构建的资源,
  • 0:58 - 1:00
    我们可将其放入来源调试。
  • 1:02 - 1:04
    最后,如果我们有仅付费调试
    变种需要的资源,
  • 1:04 - 1:07
    那么我们可以将其放入来源付费调试中。
  • 1:09 - 1:11
    当我们构建特定变种时,Gradle 将照顾所有
  • 1:11 - 1:14
    新出现的来源和我们需要用于该变种的资源。
  • 1:14 - 1:18
    它还将照顾多个配置中定义的
  • 1:18 - 1:19
    各种资源。
  • 1:19 - 1:22
    规则是,覆盖的具体配置越多,
  • 1:22 - 1:25
    具体配置就越少。
  • 1:25 - 1:27
    Java 的源文件不能被覆盖,因此
  • 1:27 - 1:30
    你需要小心不要试图定义同一类定义,
  • 1:30 - 1:33
    这样将产生多个变种。
  • 1:33 - 1:36
    对于资源文件,如 strings.xml 或
    甚至 Android Manifests,
  • 1:36 - 1:38
    Gradle 可以做得好一些。
  • 1:38 - 1:40
    对于该类型的资源,
    这些文件将被合并,
  • 1:40 - 1:43
    条目将被 ID 覆盖。
  • 1:43 - 1:47
    为确定当我们构建特定变种时,
    哪些来源和资源被包括在内,
  • 1:47 - 1:50
    我们可以画一个看起来像
    这样的图表。
  • 1:50 - 1:52
    我们从中间开始。
  • 1:52 - 1:55
    如果我们想构建付费调试变种,
    Gradle 将在主要部分包括每个项目,
  • 1:55 - 2:00
    然后将每个项目合并到付费部分,
    覆盖任何冲突。
  • 2:00 - 2:04
    下一步,Gradle 将从调试合并到每个
    项目,再次覆盖。
  • 2:04 - 2:07
    然后,最后,Gradle 将合并到付费
  • 2:07 - 2:09
    调试中的资源和来源。
Title:
Resource Merging
Description:

ZTOTUgbBFt8

more » « less
Video Language:
English
Team:
Udacity
Project:
UD867 - Gradle
Duration:
02:10

Chinese, Simplified subtitles

Revisions Compare revisions