问题标签 [android-flavordimension]
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 - 具有重复名称但维度不同的 Gradle 风味
是否可以进行以下设置:
flavorOne 存在两次,包含不同的设置,但也有不同的维度。
我需要的是一个带有生产和暂存的风味 flavorOne,以及 flavorOneStaging 和 flavorOneProduction 的 res 文件。如果我这样做,我只会看到flavorOneStagingDebug 和flavorOneStagingRelease(发布和调试是我的buildTypes),但也看不到flavorOneProduction..
我必须为每种组合创造一种风味吗?暂存和生产包含除 res 文件之外永远不会更改的数据,而 flavorOne 只是 N 中的一个。我不想创建 N*2 风味以在生产和暂存中拥有每种风味?有什么解决办法吗?
android - 在 Multi Flavor 应用中,如何避免重复资源
如果我有 3 种风味风味 1、风味 2 和风味 3,则每种风味都有 Dev、Pat 和 Prod “子风味”版本,它们的参数不同,但每种主要风味都有不同的资源。
所以我现在有 9 种不同的风格,但只有 3 个不同的资源文件夹)。我希望相同的“子口味”使用相同的资源。
我怎样才能做到这一点?我在有关 flavorDimensions 的文档中看到过,但不确定如何配置资源文件夹。
目前我正在使用类似的东西
android - Android Studio:具有两个以上风味维度(风味组)的产品风味组合
我正在使用 Android Studio(v 2.1,gradle plugin v 2.1.0)开发一个 Android 应用程序。我的应用程序有各种版本,它们共享许多通用代码,因此我决定使用风味维度和产品风味来定制代码和资源,无论何时何地都需要。只要我只有两个风味维度,这就行了。例如,我app.gradle
的
我的src
文件夹是
每个都有我的代码的自定义版本。再次,作为一个例子
当然,没有ExampleFragment
in 的实例src/main
。
在开发过程中的某个时候,我必须包含应用程序的免费和付费版本。我认为可以通过添加一个名为的新风味维度和两个名为and的version
产品风味轻松实现:free
paid
但是突然之间,由 和 组合生成的自定义代码fruit
不再color
被Android Studio检测到。所以 no appleRed
, appleYellow
, pearRed
norpearYellow
不能用于自定义代码,我能够重新获得配置的唯一方法是使用所有三个风味维度的所有组合:
这不好,因为ExampleFragment
在相同的fruitColor*
组合中重复 ( appleRedFree
,appleRedPaid
具有相同的ExampleFragment
)。res
资源(文件夹中的资源)也会出现同样的问题。
我的问题是:
1)这是Android Studio中gradle的预期行为吗(即,当具有两个以上的风味维度时,无法组合产品风味的子集,根据它们的维度遵循它们的优先级)?
2)鉴于这是预期的行为,是否有另一种方法可以实现我的自定义,而无需重复代码或没有内部带有if 语句的单个文件(例如,if (BuildConfig.FLAVOR_version == "free") ...
)的情况下实现我的自定义?
请注意,我说的是拥有可能很复杂的自定义代码,所以我不是要求基本的自定义,如构建配置变量、变体过滤或类似的东西。
android - gradle:仅针对特定风味应用插件
我的 Android gradle 目前为使用不同的推送服务设置了风味维度。(一个用于 baidu 推送,一个用于 GCM)我希望我的 Android 应用程序仅用于导入google-services
GCM 推送构建风格。有可能做到吗?
PS因为为了在 Android 中使用 GCM,我必须apply plugin: 'com.google.gms.google-services'
在我的 app/build.gradle 文件的底部添加这一行,详见此处。
作为一种解决方法,为了让 baidu 风味能够成功构建,我可能需要google-services.json
为 baidu 放置一个 dummy。
更新: 我似乎在这个长长的 github 问题线程中找到了答案。
gradle - gradle 风格维度中的组合 BuildConfig 变量
在我的 Android 应用程序中,我有两个风味维度:“品牌”(brand1,brand2)和“环境”(staging,production)。一段时间后,我添加了“环境”维度,并且我之前已经BuildConfig
为不同的品牌定义了一些变量。更具体地说,我这样定义BASE_URL
:
现在,我添加了“环境”维度,我想设置四个不同的端点:
- Brand1-staging:“ http://brand.one.staging.api/ ”
- Brand1-生产:“ http://brand.one.production.api/ ”
- Brand2-staging:“ http://brand.two.staging.api/ ”
- Brand2-生产:“ http://brand.two.production.api/ ”
但我不知道如何为BuildConfig
风味维度的特定组合创建变量。这甚至可以用裸 gradle 实现吗?
谢谢
android-studio - Gradle:如何在 buildTypes 中为多维风格设置signingConfig
在 Android Studio (v2.2) 中同步成绩文件时出现以下错误日志:
背景:
我有一个适用于 3 个开发环境(例如 dev、uat 和 production)的 2 个版本的应用程序(例如 freeApp 和paidApp)。我这样设置我的 app.gradle 文件:
对于 buildTypes,我创建了一个自定义的调试类型“alpha”,这样我就可以为自己的目的设置signingConfig:
custom1DebugKey、custom2DebugKey、customReleaseKey 是正在签名的配置,这不是重点,所以我只是跳过粘贴代码。
我想问一下当productFlavors中有多个维度时,如何在“productFlavors.XXX.signingConfig”中获得正确的XXX名称。谢谢。
PS有关更多信息,它可以通过像这样修改gradle文件来完美地为我工作:
android - 如何为具有风味维度的不同产品变体指定signingConfigs?
以前有人问过这个问题(例如Gradle 签名与风味和维度),但答案似乎不适用于 Gradle 3.5。
使用 2 个风味维度,我为每个版本变体指定了以下签名配置:
这足以gradle signingReport
报告正确的设置,但gradle assemblePyramidGoogleRelease
(例如)将构建一个未签名的 apk。
它正在跳过validateSigningPyramidGoogleRelease
任务,这反映在gradle tasks --all
输出结果中,它没有列出validateSigning*
任何*Release
变体。
android - build.gradle (AndroidStudio) 中的 flavorDimensions 有什么用?
我在其中打开了一个项目build.gradle
对我来说也是不熟悉的:
这个有什么用?
android - 2维以上的产品风味
今年早些时候,我为我们使用风味维度的客户发布了一个应用程序。我们有
这非常有效。但现在我需要Banana
作为另一个应用程序添加到项目中,事情变得一团糟。
在完整版本中,我有一些现有版本共享的功能,我希望完全从新应用程序中排除。有些资源也可以很好地删除,但由于这些是小文件,我并不关心它。我也希望避免Full
和的Preview
版本Banana
,但如果我不能这样做,那也没关系。我真正需要做的是将一些文件分组到Apple
and中Orange
,而其他文件则为所有 3。有点像制作第三维。有什么建议吗?
android - 如何在 build.gradle 中获取风味维度列表?
在我的build.gradle
,我有
如何flavorDimensions
以 gradle 在创建风味组合时使用的相同顺序获取列表?