问题标签 [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.
android - Android:仅添加特定风格的库模块
在我的 android 应用程序中,我有 2 个库模块需要根据风格有条件地包含在内。以下是应用程序结构
:app
:library1
:library2
并且应用程序有 2 种风格,因此它将生成 2 个 apk,一个免费版本和一个付费版本。因此相应地配置了 app build.gradle 如下:
正如我们所看到的,这两个库模块都将包含在两种风格中(免费和付费)。但我只想将library2包含在付费版本中。那么我怎样才能有条件地仅以付费方式添加library2呢?我遵循了链接中提到的一些方法
并进行了以下更改:
网上的所有参考资料都是针对使用compile添加库模块的旧 grdale 版本,但自 gradle plugin 3.0.0 以来已被弃用。所以任何人都可以帮我弄清楚如何有条件地添加库模块,仅在最新版本中
android - 为特定口味禁用 R8
我想为我的应用程序的特定风格禁用 R8(因此设置 android.enableR8=false)。有谁知道该怎么做,或者甚至可能吗?我可以以某种方式指定 gradle.properties 文件,或者这将如何工作?
android - 如何根据构建类型和构建风格管理配置
在我的应用程序中,我有 2 种构建类型release
,debug
下面是代码片段。
我还有 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 个不同的键
- Flavor1 + 调试 ========= Key1
- 风味1 + 释放========= Key2
- Flavor2 + 调试 =========== Key3
- 风味2 + 释放========== Key4
任何帮助,将不胜感激。
android - 为产品风味添加环境变量
我想定义一个特定于特定产品风味的环境变量,但我似乎无法让它工作。
我尝试添加以下内容
但我收到错误
我的项目是一个 React Native 项目,我希望设置一个可以在 Metro Bundler 中使用的环境变量。
android - 从 Android Studio 风格设置 process.env 变量
我希望能够访问我的metro.config.js
.
在 iOS 上,这可以通过在 Build Settings 选项卡中添加用户定义的变量来实现。这可以通过process.env.MY_VAR
. 的值MY_VAR
可以根据正在构建的目标进行更改。
如何使用产品风格为 Android 实现相同的目标?
这是我目前的设置
执行步骤
运行 iOS 时,我可以从日志中看到项目是在 Packager 启动之前构建的
但是,打包程序在我的 gradle build 任务执行之前启动
android - 使用 Kotlin DSL 构建 Android - 如何访问风味额外属性?
传统上,在 Groovy 中,可以在ext
{}
块中定义特定于风味的变量,但切换到 Kotlin DSL 似乎extra
地图具有项目范围。
看起来可以通过使用以下方法强制为附加功能设置风味范围:
(来源:https ://github.com/gradle/kotlin-dsl-samples/issues/1254 )
但是如果以后需要使用它,例如基于buildType
这样的调整变量:
这些风味范围的引用将extra
如何使用?
android - ViewBinding - 不同风格的布局资源
我的风格包含与我的main
源集中相同的布局资源。这样它就可以用特定于风味的那一种来覆盖主要的那一种。我在很多地方都这样做过,在我介绍ViewBinding
. 为了准确起见,布局是“包含”在片段中的嵌套布局。
这是结构:
til_sudf_first_name
在我的主要资源中没有的特定于风味的布局资源中,我有一个视图,其 ID 为。这是有意的。View
通过在运行此构建变体时查看生成的源,我可以在我的绑定类中看到这是“绑定”的。
protected
现在实际的绑定发生在“基”类中,并使用可见性修饰符与子类共享,如下所示:
问题是detailsBinding
不包含我需要的视图,即使它存在于生成的类中。
此外,另一个奇怪的事情是,即使main
布局文件中的视图不在风味特定的布局文件中,它们仍然包含在生成的布局文件中。
我想要做的甚至可能吗?我可以使用的解决方法是像我一样对这个实例使用 kotlin 的合成视图处理,但我试图使用推荐的方法
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
错误: