问题标签 [android-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 投票
1 回答
36 浏览

android - 没有来自多风味库的主要来源的类

我有一个有两种口味的图书馆项目

build.gradle 中没有定义自定义源集

对于其中一种风味,我在里面有自定义布局:

在此处输入图像描述

所有其他来源应来自main.

当我将此库包含到应用程序时:

implementation project(path: ':sdk', configuration: 'internalDebug')

该库根本没有类,sdk所有导入标记为红色。

问题是为什么应用程序中的库文件夹中没有来源main

0 投票
2 回答
2209 浏览

android - Android:仅添加特定风格的库模块

在我的 android 应用程序中,我有 2 个库模块需要根据风格有条件地包含在内。以下是应用程序结构
:app
:library1
:library2
并且应用程序有 2 种风格,因此它将生成 2 个 apk,一个免费版本和一个付费版本。因此相应地配置了 app build.gradle 如下:

正如我们所看到的,这两个库模块都将包含在两种风格中(免费和付费)。但我只想将library2包含在付费版本中。那么我怎样才能有条件地仅以付费方式添加library2呢?我遵循了链接中提到的一些方法

并进行了以下更改:

网上的所有参考资料都是针对使用compile添加库模块的旧 grdale 版本,但自 gradle plugin 3.0.0 以来已被弃用。所以任何人都可以帮我弄清楚如何有条件地添加库模块,仅在最新版本中

0 投票
2 回答
861 浏览

android - 为特定口味禁用 R8

我想为我的应用程序的特定风格禁用 R8(因此设置 android.enableR8=false)。有谁知道该怎么做,或者甚至可能吗?我可以以某种方式指定 gradle.properties 文件,或者这将如何工作?

0 投票
2 回答
113 浏览

android - 如何根据构建类型和构建风格管理配置

在我的应用程序中,我有 2 种构建类型releasedebug下面是代码片段。

我还有 2 种产品风格,下面是代码片段。

现在我总共有 4 种产品类型

  • 风味1调试
  • 风味1释放
  • 风味2调试
  • 风味2释放

现在我需要创建一个变量 app_name,以便不同产品类型的应用名称可以不同。

  • flavor1debug ---------> app_name : flavor1 (debug)
  • flavor1release ---------> app_name : flavor1
  • flavor2debug ---------> app_name : flavor2 (debug)
  • flavor2release ---------> app_name : flavor2

如何使用配置或 strings.xml 实现相同的目标

编辑:假设,我正在使用第三方库并且我想使用不同的身份验证密钥,如何使用Flavor&buildType组合来实现这一点?

即我需要基于以下配置的 4 个不同的键

  1. Flavor1 + 调试 ========= Key1
  2. 风味1 + 释放========= Key2
  3. Flavor2 + 调试 =========== Key3
  4. 风味2 + 释放========== Key4

任何帮助,将不胜感激。

0 投票
0 回答
289 浏览

android - 如何使用 Android 版本构建具有更高 minSdkVersion 的排毒测试 - - React-Native

我想使用 Detox 进行 React-native e2e 测试,这需要 minSdkVersion 为 18,但我的应用程序是 16。我还没有准备好为我的应用程序升级到 18,所以我想使用 android 风格为排毒测试和另一个用于生产。这是我到目前为止所做的:在 app/build.gradle 中:

现在在 android studio 我有 4 个构建变体: detoxDebug 正在同步,但 productionDebug 给出了这个错误:

在此处输入图像描述

谢谢!

0 投票
1 回答
546 浏览

android - 为产品风味添加环境变量

我想定义一个特定于特定产品风味的环境变量,但我似乎无法让它工作。

我尝试添加以下内容

但我收到错误

我的项目是一个 React Native 项目,我希望设置一个可以在 Metro Bundler 中使用的环境变量。

0 投票
1 回答
2294 浏览

android - 从 Android Studio 风格设置 process.env 变量

我希望能够访问我的metro.config.js.

在 iOS 上,这可以通过在 Build Settings 选项卡中添加用户定义的变量来实现。这可以通过process.env.MY_VAR. 的值MY_VAR可以根据正在构建的目标进行更改。

如何使用产品风格为 Android 实现相同的目标?

这是我目前的设置

执行步骤

运行 iOS 时,我可以从日志中看到项目是在 Packager 启动之前构建的

但是,打包程序在我的 gradle build 任务执行之前启动

0 投票
1 回答
601 浏览

android - 使用 Kotlin DSL 构建 Android - 如何访问风味额外属性?

传统上,在 Groovy 中,可以在ext {}块中定义特定于风味的变量,但切换到 Kotlin DSL 似乎extra地图具有项目范围。

看起来可以通过使用以下方法强制为附加功能设置风味范围:

(来源:https ://github.com/gradle/kotlin-dsl-samples/issues/1254 )

但是如果以后需要使用它,例如基于buildType这样的调整变量:

这些风味范围的引用将extra如何使用?

0 投票
1 回答
1799 浏览

android - ViewBinding - 不同风格的布局资源

我的风格包含与我的main源集中相同的布局资源。这样它就可以用特定于风味的那一种来覆盖主要的那一种。我在很多地方都这样做过,在我介绍ViewBinding. 为了准确起见,布局是“包含”在片段中的嵌套布局。

这是结构:

til_sudf_first_name在我的主要资源中没有的特定于风味的布局资源中,我有一个视图,其 ID 为。这是有意的。View通过在运行此构建变体时查看生成的源,我可以在我的绑定类中看到这是“绑定”的。

protected现在实际的绑定发生在“基”类中,并使用可见性修饰符与子类共享,如下所示:

问题是detailsBinding不包含我需要的视图,即使它存在于生成的类中。

此外,另一个奇怪的事情是,即使main布局文件中的视图不在风味特定的布局文件中,它们仍然包含在生成的布局文件中。

我想要做的甚至可能吗?我可以使用的解决方法是像我一样对这个实例使用 kotlin 的合成视图处理,但我试图使用推荐的方法

0 投票
1 回答
533 浏览

android - 为 FCM 中的不同风格配置多个 google-services.Json

我正在尝试根据 android 项目中的不同风格实现多个 google-service.json 文件。我曾尝试使用以下代码:https ://medium.com/google-cloud/automatic-per-variant-google-services-json-configurations-with-gradle-d3d3e40abc0e

下面是我同时拥有 google-service.json 文件的路径-

在 app/build.gradle

错误