问题标签 [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 风格和构建变体特定的 appboy.xml 文件
关于具有不同风格和构建变体的 Android 应用程序,我非常熟悉如何构建某些字符串资源风格和构建变体特定。但是对于一个文件,我不确定它是如何工作的。
更具体地说,我将 Appboy 集成到我的应用程序中只是为了一种特定的风格,不同的构建变体的 api 密钥是不同的。那么我该如何做到这一点呢?
我的appboy.xml
文件如下所示:
谢谢!
android - 如何根据风味自动更改可绘制对象?
我正在开发一个非常混乱的应用程序,并且是第一次使用口味。应用程序有 4,5 种风格,所有风格都具有相同的背景颜色、可绘制对象等。只有徽标不同。
现在我必须制作一种布局完全不同的新口味。背景颜色应该是黄色而不是灰色,可绘制图像应该是黑色而不是白色。问题是,我有 100 张不同的白色图像。有没有办法可以自动将它们更改为黑色?(设计师可以重绘它们或将它们变成黑色,我可以将它们放在那种风格的可绘制文件夹中)或者我必须以编程方式检查是否使用了新风格,然后在每个使用白色可绘制的小部件上调用 setDrawable(newBlackImage)?这似乎是一种非常复杂的方法,因为所有可绘制对象都是通过 XML 布局设置的。
他们一直在使用风味的方式是创建资源布尔文件,然后检查代码是否某个键的值为真/假然后隐藏/显示一些东西......所以我认为我应该用这个做类似的事情,或者不?
这是我的一种风格的项目结构:
如您所见,每种口味只有不同的启动器和登录屏幕图标。每个都有自己的数组、布尔值和字符串资源文件。但是它们都共享相同的布局资源和带有白色图标的可绘制对象。
android - build.gradle (AndroidStudio) 中的 flavorDimensions 有什么用?
我在其中打开了一个项目build.gradle
对我来说也是不熟悉的:
这个有什么用?
android - 何时使用 android 风格与单独的项目
我一直在阅读有关 Android 风格以及如何在SO
和其他资源中使用它们的信息,例如
1)使用 Gradle 构建多个版本的 Android 应用
基于这些示例,androidflavours
对于构建应用程序的多个版本非常有用。但我的问题是:
service provider
在角色和consumer
角色具有单独应用程序的场景中使用风格是一种好习惯,uber
还是构建单独的项目更好。
在使用口味之前,我们需要考虑哪些主要属性?
java - BuildConfig.DEBUG 与 ApplicationInfo.FLAG_DEBUGGABLE
正如从代码中获取 androidManifest 的“可调试”值所指的那样?,有两种检查构建是否可调试的选项:
1.) BuildConfig.DEBUG 标志
2.) ApplicationInfo.FLAG_DEBUGGABLE
它们是两个相同的,还是不同的?什么时候用什么?
android - 注销一种 android 风格也会在同一设备上注销另一种风格
我已经构建了同一应用程序的两种不同风格,同时在同一设备上运行如果我从一个应用程序注销,它也会注销另一个应用程序。在我的应用程序中,注销是一个网络呼叫,因此当我单击一个注销按钮时,我可以看到这两个应用程序的网络呼叫。我正在使用 Retrofit 进行网络调用。单击注销后,我将在 eventbus 上推送 Logout 事件,并且 MainLandingActivity 订阅了该事件。
这是订阅代码
android - 我应该如何发布多种风格的 Android 应用程序?
我已经在 Play 商店中发布了一个 Android 应用程序。我应该如何发布多种风格,例如演示版与完整版?
安装完整版可以覆盖已经安装的演示版吗?
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
android - java.lang.IllegalArgumentException:找不到包含“在此处插入应用程序目录路径”的已配置根目录
我正在打开相机来捕捉图像,并按照本教程进行操作。当我尝试为我的应用程序创建不同的风味构建配置时,标题中所述的错误出现了。
这是用于文件提供程序路径配置的名为file_paths的元数据 xml 资源文件 -
我在清单中设置如下 -
我正在根据这样的构建配置从gradle构建文件中实例化名为“images_file_path”的字符串资源 -
我正在像这样在我的活动中启动相机 -
当我将上述元数据 xml 资源中的路径属性值设置为文字字符串而不是资源字符串值时,相同的代码不会导致任何异常。
我不明白为什么会这样。
如果我能更好地解释,请告诉我。请提前帮助和感谢。
android - 如何让 gradle 覆盖图书馆项目中的资源
目前我有一个名为“Common”的项目,以及一个名为“Setup”的应用程序,它依赖于“Common”。
在“Common”中,有一个“color.xml”,它是一个 Android 资源文件。
我想要的是取决于构建类型覆盖“color.xml”中的一些值。
我试过设置res.srcDirs = ['path/for/override/resources']
,但似乎不起作用。
谁能给我一个例子?