问题标签 [android-build-flavors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8917 浏览

android - 如何在 android studio 中调试产品风味?

我有两种产品口味,免费和专业。

两者的启动器活动是不同的。

但 Android Studio 期望启动器活动位于 src/main/ 下的 AndroidManifest.xml 中。

Gradle 正在正确构建这两种风格,但 IDE 无法从各自的产品风格(如 src/free 或 src/pro)中选择正确的 AndroidManifest.xml。

即使在选择了正确的构建变体作为 FreeDebug 或 ProDebug 之后,也会发生这种情况。

0 投票
1 回答
99 浏览

android - 所有 Gradle 风味描述始终返回最后一个值

像下面的成绩脚本设置:

注销是:

我这里有什么问题?

0 投票
1 回答
60 浏览

android - 管理多种口味……指数增长?

想象一下我的 APK 版本需要有或没有广告,有或没有 CustomJarSDK 以及三个市场,GooglePlay、AmazonApps 和 SamsungApps 的情况。

在我的完美世界中,它应该只有 7 种口味:

  • 有广告
  • 无广告
  • 使用 CustomJarSDK
  • 没有 CustomJarSDK
  • 对于谷歌播放
  • 对于亚马逊商店
  • 对于三星应用

在我的完美世界中,应该有一种方法可以在 gradle 中结合口味,例如:

  • 带广告 + SamsungApps + CustomJarSDK
  • 没有广告 + GooglePlay
  • ETC...

那可能吗?或者你被诅咒并被迫拥有所有这些味道......??????

  • 对于带有广告的 GooglePlay
  • 对于带有广告和 CustomJarSDK 的 GooglePlay
  • 对于没有广告的 GooglePlay
  • 对于没有广告和 CustomJarSDK 的 GooglePlay
  • 对于有广告的亚马逊商店
  • 对于带有广告和 CustomJarSDK 的 AmazonStore
  • 对于没有广告的亚马逊商店
  • 对于没有广告和使用 CustomJarSDK 的 AmazonStore
  • 对于带有广告的三星应用
  • 对于带有广告和 CustomJarSDK 的 SamsungApps
  • 对于没有广告的 SamsungApps
  • 对于没有广告和 CustomJarSDK 的 SamsungApps
0 投票
1 回答
109 浏览

android - Android Studio BuildVariants

这是我的问题。我有一个运行良好的应用程序。我希望同一个应用程序有两个不同的包名称和可绘制文件夹。所以这就是我所做的,

然后我在我的 src 中创建了两个不同的文件夹。项目结构看起来像这样,

据我了解,当我从 Flavor AppTwo 进行构建时,将使用“AppTwo 的图像”(如果我没记错的话)。这也适用于单独的包名称和单独的图标。问题是我的原始文件夹中有一个本地 html 文件。我在这样的代码中引用它

两个应用程序的 html 文件也会发生变化。所以我为这两种风格创建了原始文件夹。现在项目结构是这样的

现在,当我使用风味 1 或风味 2 运行我的应用程序时,我在 webview 上遇到错误,例如找不到文件:///android_res/raw/mytemplate.html。

我在做什么错。可绘制文件夹中的图标正在更改,但原始的 html 文件没有。任何人都可以帮忙。任何帮助,将不胜感激。

谢谢

0 投票
4 回答
9344 浏览

android - 如何在 Android 中通过 gradle 列出 buildConfig 中的所有风格

这是一个具有三种口味的简单 gradle:

BuildConfig.java 是:

我的期望:

奇怪的事情,我可以在日志中看到所有口味:au de es

但我没有像我预期的那样在 buildConfig 中为 'de' 和 'es' 提供字段.. 有什么提示吗,伙计们?

0 投票
0 回答
615 浏览

android - Android Flavors 排除重复类

我已经宣布了 2 种口味:

我也有单独的资源文件夹:

第 1 部分包含:Main.java 和 Second.java

第 2 部分仅包含:Main.java

一切都很好,直到我将第 2 部分的源代码更改为:

因为 Main.java 在这两个部分中,我都收到了重复的类错误。

当我选择 part2 作为构建变体时,有没有办法从 Part1 中排除 Part2 的 Main.java 类?并且能够像这样编译第 2 部分:Main.java(来自第 2 部分源文件夹)和 Second.java(来自第 1 部分源文件夹)?

0 投票
3 回答
4173 浏览

android - Android、Gradle、产品风格和清单

build.gradle中,我设置了产品风味:

然后在 sourceSets 部分,我为这些风格使用不同的资源、资产和清单目录:

到目前为止还可以。

在风味使用的清单中,部分是自动生成的,我有:

但在根项目的原始清单中如下:

这会导致 Gradle 失败:

为什么它试图与原始清单合并,当我指定它应该在别处寻找时?

我该如何阻止呢?

我希望有些人会质疑我为什么要这样做,或者确实为什么我不使用建议的风味项目结构。好吧,我需要一个在 Gradle 之外使用的普通清单,例如从 Eclipse 部署(请一次做一件事!),我还需要在构建过程中注入版本。

0 投票
3 回答
16607 浏览

android - Android 为发布和调试构建单独的字符串值

每次我发布我的应用程序时,我都会更改我所有的url 字符串和一些从测试到生产的键。我这样做的方式只是在发布之前注释掉测试字符串。有没有更好的方法来处理基于构建类型的字符串?

0 投票
4 回答
2255 浏览

android - 如何从常见的java类中为不同的产品风格调用不同的方法

我需要这样的东西:

从任何方法:

我如何处理来自 java 的味道?

0 投票
0 回答
198 浏览

android - Android Studio Build Flavor 通过 Git 组织

以下情况。我们在一个带有多个 Build Flavours 版本的 Android 项目上工作。目前它的组织方式如下 Build.gradle:

文件夹结构

main -java --com.example ---classA original -java --com.example ---classB (original) ---classC (original) var1 -java --com.example ---classB (new) ---classC (original) var2 -java --com.example ---classB (original) ---classC (new)

现在的问题是 var2 有一个 classB 的副本,而 var1 有一个 classC 的副本。因此,每当我对其中一个原始类进行更改时,我都必须以使用原始类的每种风格复制该文件。但看起来这是我必须为 buildflavors 做的方式。

所以我在想我是否可以通过使用 Git 和几个发布分支来解决这个问题。也许有一个脚本和樱桃采摘。但是我对git不是很有信心。所以我对git结构的想法是这样的。

混帐想法

所以我现在的问题是,为此目的使用 Git 是否有意义。如果是的话,git 的脚本会是什么样子。或者有没有更好的方法来解决这个问题