问题标签 [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.
android - 如何隐藏或添加 Flavor 的菜单项?
我有一个有 3 种不同风格的应用程序full
,part1
和part2
.
所有不同的风格都有不同的包名称,所以我可以将它们作为不同的应用程序发布。
现在我希望它只part1
获得一个名为Reload
. 其他 2 种口味不应该有这个菜单项。这可能吗?
我尝试了以下菜单资源:
哪里main_activity.xml
是part1
:
而main_activity.xml
对于main
是:
但是,如果我在任何其他构建变体中构建应用程序part1
,我会在MainActivity
需要对菜单选择做出反应的地方出现编译错误:
这是很明显的。但是你有什么建议可以为不同的构建风格定制菜单吗?
android - 如何以编程方式防止“冲突的提供者”消息
谁能告诉我如何在一台设备上安装不同版本的不同版本,而不会在 PlayStore 和 AndroidStudio 中都收到“重复提供程序”错误消息?
我在我的应用程序中针对不同国家/地区有不同的风格,并且总是在安装另一个应用程序之前卸载该应用程序很烦人。
我试过了:
在我的 AndroidManifest 中我添加了:
对我
标签。这并不能解决我的问题。
我不使用 ContentProvider 所以我也尝试向项目添加一个 Stub ContentProvider 类并在里面声明 android:authorities="${providerAuthority}"
包含 Stub ContentProvider 名称的标记 --> 不成功。对于其他一些想法或更正,我会非常高兴。
更新:
尝试在我的设备上安装应用程序时从 Android Studio 收到的错误消息。
android - Android Studio 构建所有风格
我有一个项目会有很多口味。我如何或如何一次构建所有口味变体?或者至少一个一个....我只是打了一次“跑”
在我的 gradle 文件中,我有 signingConfigs,我所有的口味都应该使用相同的 *.jks
谢谢
android - Gradle Flavor 变量的抽象为
最近,我想出了如何使用占位符进行 Manifest Mergers。我在我的应用程序中实现了它,在大多数情况下,我对结果感到非常满意 -仅 Gradle 解决方案,用于根据 Build Variant 修改应用程序名称
以前,您必须String Resource
只使用一个字符串创建一个新的稀疏字符串,该字符串具有您想要在不同资源(例如风味和构建类型)上更改的属性。就个人而言,我不认为这种方法真的很干净。简单易行,是的,但不干净。
从那我创建了以下工作。但是,我不喜欢重复的代码,我Flavor
的每个人都会有重复的代码。这是可以抽象出来的东西吗?可能可以把它放在defaultConfig
?
例如,在下面的代码中,是否有某种方法可以移动manifestPlaceholders
每个 Flavor 中存在的代码,并将其抽象为defaultConfig
某种方式,以便我可以定义一次?
顺便说一句,上面的代码会给我applicationLabel
以下内容。我使用这些来确定主屏幕上应用程序的名称。
期望的
android - Android gradle 构建速度
当 android 项目有多个针对 prod、dev 和其他测试环境的构建时,构建过程需要很长时间。即使只编译了一种,也会评估每种构建风格。在创建特定风格的 apk 时,有什么方法可以排除其他构建?
android - 多种口味和模块
我有一个多模块应用程序,有多个优点。
有没有办法只更改顶部的“应用程序”构建变体并使子模块以相同的方式构建?还是我需要更改每个模块?
有没有办法在更少的代码中配置构建类型 - 风味依赖项?这是“愚蠢”的配置
//模块1依赖配置
flavor1DebugCompile project(path: ':module1', configuration: 'flavor1DebugCompile')
flavor2DebugCompile project(path: ':module1', configuration: 'flavor2DebugCompile')
flavor1ReleaseCompile project(path: ':module1', configuration: 'flavor1ReleaseCompile')
flavor2ReleaseCompile 项目(路径:':module1',配置:'flavor2ReleaseCompile')//模块2依赖配置
flavor1DebugCompile project(path: ':module2', configuration: 'flavor1DebugCompile')
flavor2DebugCompile project(path: ':module2', configuration: 'flavor2DebugCompile')
flavor1ReleaseCompile project(path: ':module2', configuration: 'flavor1ReleaseCompile')
flavor2ReleaseCompile 项目(路径:':module2',配置:'flavor2ReleaseCompile')//模块3依赖配置
...
//模块4依赖配置
...
android - Android Flavors - 每个应用程序的单独可绘制目录?
是否可以为每个应用程序拥有相同的代码库但不同的可绘制目录?
基本上我想多次拥有同一个应用程序,只是重新命名,所以除了可绘制文件夹中的图像之外,一切都可以相同。
有任何想法吗?
我希望我的目录结构如下所示:
java - Android Flavors - 无法解析符号 R
我在同一个代码库中有两个应用程序。他们使用相同的 java 文件并保存 res 文件,但 value 和 drawable 文件夹除外,它们具有相同的文件和文件名但内容不同。
我遇到的问题是,当我的 Gradle 构建时,我遇到了问题,因为我使用 RI 的任何地方都有错误
Cannot resolve symbol R
我的 build.gradle 文件如下所示(为简洁起见,省略了一些设置):
我的文件夹结构如下所示:
当我在 Gradle 中构建它时,我没有收到任何错误,但是当我构建项目时,我的 java 文件都有错误,因为它们找不到 R.. 我猜这与包名不存在有关由于我的构建风味设置而正确。
有任何想法吗?
android - 仅为一种构建风格启用资源缩减
是否可以编写 build.gradle 文件以仅对一种构建风格启用资源收缩?目前我们可以启用每个构建类型的收缩,我们可以有每个风味的构建类型吗