【问题标题】:Building different apps using Flavors - different code.使用 Flavors 构建不同的应用程序 - 不同的代码。
【发布时间】:2018-10-23 15:46:25
【问题描述】:

我正在构建一个具有多种不同风格的应用程序。我的问题是,如果我对基于风味的活动使用不同的代码,我是否需要在所有风味目录中包含该代码的副本,或者如果我只是将代码的副本留在 app/src/main/java 目录中,如果我不将它包含在风味目录中,所有其他风味是否会使用 main/java 中的文件。

我有

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 目录中的文件。

【问题讨论】:

    标签: android android-build-flavors


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-29
      • 1970-01-01
      • 1970-01-01
      • 2021-04-16
      相关资源
      最近更新 更多