代码之家  ›  专栏  ›  技术社区  ›  Kristy Welsh

使用不同的风格构建不同的应用程序-不同的代码。

  •  0
  • Kristy Welsh  · 技术社区  · 7 年前

    我有

    app/src/main/java/com/mycompany/CodeA.java

    app/src/flavor1/java/com/mycompany/CodeA.java

    而且对于flavor2没有特殊的源代码集文件夹,flavor2会使用app/src/main/java/com/mycompany/CodeA.java中的代码文件吗?或者我需要创建一个源代码集文件夹,其中包含每个版本的代码副本吗?我对几个风格使用不同的资源文件夹,但对于所有其他风格,资源文件夹默认为app/src/main目录中的文件。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Hanna    7 年前

    注意:对于给定的构建变量,如果Gradle遇到两个或多个定义了相同Java类的源集目录,它将抛出一个构建错误。例如,在构建调试APK时,不能同时定义src/debug/Utility.java和src/main/Utility.java。这是因为Gradle在构建过程中查看这两个目录,并抛出一个“复制类”错误。如果您需要不同版本的Utility.java用于不同的生成类型,可以让每个生成类型定义自己的文件版本,而不将其包含在主/源集中。-引用自 https://developer.android.com/studio/build/build-variants . 这正是你要问的。所以答案是-它不会编译,你必须在两种风格中定义代码文件,而不是在main中。