问题标签 [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 回答
844 浏览

android - Android 风格和构建变体特定的 appboy.xml 文件

关于具有不同风格和构建变体的 Android 应用程序,我非常熟悉如何构建某些字符串资源风格和构建变体特定。但是对于一个文件,我不确定它是如何工作的。

更具体地说,我将 Appboy 集成到我的应用程序中只是为了一种特定的风格,不同的构建变体的 api 密钥是不同的。那么我该如何做到这一点呢?

我的appboy.xml文件如下所示:

谢谢!

0 投票
1 回答
2990 浏览

android - 如何根据风味自动更改可绘制对象?

我正在开发一个非常混乱的应用程序,并且是第一次使用口味。应用程序有 4,5 种风格,所有风格都具有相同的背景颜色、可绘制对象等。只有徽标不同。

现在我必须制作一种布局完全不同的新口味。背景颜色应该是黄色而不是灰色,可绘制图像应该是黑色而不是白色。问题是,我有 100 张不同的白色图像。有没有办法可以自动将它们更改为黑色?(设计师可以重绘它们或将它们变成黑色,我可以将它们放在那种风格的可绘制文件夹中)或者我必须以编程方式检查是否使用了新风格,然后在每个使用白色可绘制的小部件上调用 setDrawable(newBlackImage)?这似乎是一种非常复杂的方法,因为所有可绘制对象都是通过 XML 布局设置的。

他们一直在使用风味的方式是创建资源布尔文件,然后检查代码是否某个键的值为真/假然后隐藏/显示一些东西......所以我认为我应该用这个做类似的事情,或者不?

这是我的一种风格的项目结构:

在此处输入图像描述

如您所见,每种口味只有不同的启动器和登录屏幕图标。每个都有自己的数组、布尔值和字符串资源文件。但是它们都共享相同的布局资源和带有白色图标的可绘制对象。

0 投票
0 回答
47 浏览

android - build.gradle (AndroidStudio) 中的 flavorDimensions 有什么用?

我在其中打开了一个项目build.gradle对我来说也是不熟悉的:

这个有什么用?

0 投票
2 回答
818 浏览

android - 何时使用 android 风格与单独的项目

我一直在阅读有关 Android 风格以及如何在SO和其他资源中使用它们的信息,例如

1)使用 Gradle 构建多个版本的 Android 应用

2)构建多种风格的 Android 应用程序

基于这些示例,androidflavours对于构建应用程序的多个版本非常有用。但我的问题是:

service provider在角色和consumer角色具有单独应用程序的场景中使用风格是一种好习惯,uber还是构建单独的项目更好。

在使用口味之前,我们需要考虑哪些主要属性?

0 投票
4 回答
5481 浏览

java - BuildConfig.DEBUG 与 ApplicationInfo.FLAG_DEBUGGABLE

正如从代码中获取 androidManifest 的“可调试”值所指的那样?,有两种检查构建是否可调试的选项:

1.) BuildConfig.DEBUG 标志

2.) ApplicationInfo.FLAG_DEBUGGABLE

它们是两个相同的,还是不同的?什么时候用什么?

0 投票
1 回答
36 浏览

android - 注销一种 android 风格也会在同一设备上注销另一种风格

我已经构建了同一应用程序的两种不同风格,同时在同一设备上运行如果我从一个应用程序注销,它也会注销另一个应用程序。在我的应用程序中,注销是一个网络呼叫,因此当我单击一个注销按钮时,我可以看到这两个应用程序的网络呼叫。我正在使用 Retrofit 进行网络调用。单击注销后,我将在 eventbus 上推送 Logout 事件,并且 MainLandingActivity 订阅了该事件。

这是订阅代码

0 投票
1 回答
99 浏览

android - 我应该如何发布多种风格的 Android 应用程序?

我已经在 Play 商店中发布了一个 Android 应用程序。我应该如何发布多种风格,例如演示版与完整版?

安装完整版可以覆盖已经安装的演示版吗?

0 投票
0 回答
61 浏览

android - 如何在不指定“真实”(默认)产品风味的情况下提供“假货”产品风味?

我想为模块提供的接口的假实现提供一个构建变体。我可以productFlavors用来实现这一点

这会生成 4 个构建变体

  • fakesDebug
  • fakesRelease
  • realAssemble
  • realRelease

但是我想提供默认配置和可选fakes配置(​​我不想定义real产品风格。所以 4 个构建变体应该是:

  • fakesDebug
  • fakesRelease
  • debug
  • release

这可能吗?还是我必须提供real产品风味并使用matchingFallbacks?我想避免每个下游模块都必须指定real风味。我总是想compile使用上游的real产品风味,并且testCompile总是使用上游的fakes产品风味。

注意:使用 Android Gradle 插件 3.0

0 投票
2 回答
651 浏览

android - java.lang.IllegalArgumentException:找不到包含“在此处插入应用程序目录路径”的已配置根目录

我正在打开相机来捕捉图像,并按照本教程进行操作。当我尝试为我的应用程序创建不同的风味构建配置时,标题中所述的错误出现了。

这是用于文件提供程序路径配置的名为file_paths的元数据 xml 资源文件 -

我在清单中设置如下 -

我正在根据这样的构建配置从gradle构建文件中实例化名为“images_file_path”的字符串资源 -

我正在像这样在我的活动中启动相机 -

当我将上述元数据 xml 资源中的路径属性值设置为文字字符串而不是资源字符串值时,相同的代码不会导致任何异常。

我不明白为什么会这样。

如果我能更好地解释,请告诉我。请提前帮助和感谢。

0 投票
1 回答
512 浏览

android - 如何让 gradle 覆盖图书馆项目中的资源

目前我有一个名为“Common”的项目,以及一个名为“Setup”的应用程序,它依赖于“Common”。

在“Common”中,有一个“color.xml”,它是一个 Android 资源文件。

我想要的是取决于构建类型覆盖“color.xml”中的一些值。

我试过设置res.srcDirs = ['path/for/override/resources'],但似乎不起作用。

谁能给我一个例子?