【问题标题】:Is it possible to use multiple manifest files for different gradle builds/flavors?是否可以为不同的 gradle 构建/风格使用多个清单文件?
【发布时间】:2014-12-18 19:35:39
【问题描述】:

假设我有一个白标应用程序,我将其转换为从 Eclipse 构建在 android studio 中。这个应用程序有大约 10 次迭代,它们大部分都使用相同的代码库和不同的资源,它们都使用相同的名称约定,但有些迭代有额外的活动或服务,这些活动或服务在所有构建中都不需要。

我想废弃一大堆旧的难以维护的代码库,这些代码库本质上都是一样的,只使用一个 android studio 项目。我了解此设置的基础以及所有源文件和 res 文件,但我不知道如何处理不同的清单文件。

我可以使用风味或构建类型来处理多个清单文件的切换吗?

【问题讨论】:

标签: android gradle android-studio android-gradle-plugin


【解决方案1】:

假设我有一个白标应用程序,我将其转换为从 eclipse 构建在 android studio 中。

我有一个白标应用程序,我将其转换为从 eclipse 构建在 android studio 中。

哦,不,等等——你的意思不是字面意思...

:-)

我可以使用风味或构建类型来处理多个清单文件的切换吗?

当然。您可以在风味和/或构建类型源集中包含清单(例如,src/debug/AndroidManifest.xml)。它们的内容将与main 中的清单、任何附加的 AAR/Android 库项目中的清单以及build.config 中的各种设置合并,从而为任何给定的构建创建 The One True Manifest。有a page that describes the merger process 以及各种属性如何帮助控制它,虽然有点令人困惑。

【讨论】:

  • 啊哈,我以为我可以,但是当我开始阅读该文档时,它的内容非常丰富(是的,乍一看很混乱)。那么,如果我有一个 java 源库但有多个资源库和清单文件,我应该如何构建我的项目呢?
  • @Jamesandresakis:“那么,如果我有一个 Java 源代码库但有多个资源库和清单文件,我应该如何构建我的项目?” - 好吧,因为您似乎希望为不同的生产构建(即来自“白标”基础的可交付变体)拥有不同的资源/清单,所以产品风味将是主要载体。您的大部分 Java 代码都包含在 src/main/ 中,还有一组基本资源和一个清单。对这些资源和清单的覆盖将进入特定风格的源集(例如,src/whiteLabelShippableVariant1/)。
  • 付费版manfest会在哪个目录下创建,会在资源文件夹下
  • @SrishtiRoy:不,它将进入src/paid/AndroidManifest.xml,就像main 源集的清单进入src/main/AndroidManifest.xml
猜你喜欢
  • 2022-08-13
  • 2014-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-18
相关资源
最近更新 更多