问题标签 [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 投票
0 回答
256 浏览

android - 编译android依赖风格时出错

我正在制作一个有广告和没有广告的应用程序。我创造了两种这样的口味:

并像这样声明依赖项:

compile该应用程序将使用而不是编译,adsCompile但我不想包含不需要的内容。

我可以毫无错误地编译广告风格,但 noAds 会引发以下错误:

此错误出现在 ads flavor 类 (com.example.Main) 中,但不在 noAds 类中。

此外,如果我替换adsCompilecompile生成 noAds APK,该应用程序将在应用程序启动器中有两个图标。其中一个会起作用,而另一个不起作用。

0 投票
2 回答
1489 浏览

android - 是否可以使用不同的包名称发布相同的应用程序?

我有一个项目,我必须构建许多基本相同的应用程序,但是更改公司的名称......

所以我想用口味更改包名称和颜色,并在商店中发布这些应用程序(使用不同的包名称)

可能吗?

0 投票
1 回答
419 浏览

android - Android 应用风格名称作为变量而不是静态字符串

在过去的一个小时里,我一直在尝试在 gradle.properties 中设置一些变量名称,例如 FLAVOR_NAME,然后在 build.gradle 中使用它来获得一种动态的风味名称。还没有成功。甚至可以有一个动态的风味名称吗?我的意思是:

0 投票
3 回答
3189 浏览

android - manifestPlaceholders 值不是字符串

在我的 AndroidManifest.xml 文件中,我有以下应该动态填充的元数据标记:

我的 gradle 文件如下所示:

在“构建和组装”之后,清单文件中的 FACEBOOK_APP_ID 如下所示:

不幸的是,这不是一个字符串,而是一个浮点值。这不正确或我想要的。

我知道还有另一种方法可以FACEBOOK_APP_IDstring.xml文件中定义。build.gradle但是由于我有很多口味,如果我们将所有与口味相关的参数放在文件中而不是文件中,那将是很好且易于维护的strings.xml

有谁知道如何避免字符串到浮点转换?

0 投票
0 回答
145 浏览

java - 适用于 Java Web 项目的 Android 产品风格

我想知道是否有人尝试将 Android Product Flavors 用于简单的 Java Web 项目(例如 Spring Boot),并且可以向我展示最好的方法吗?我们正在使用 IntelliJ 进行 Web 服务开发,它应该以与 Android Studio 相同的方式反映选定的风格。

我们不想使用弹簧配置文件,或者要维护多个分支。

0 投票
1 回答
1717 浏览

android - 如何在 build.gradle 中使用最终解析的 applicationId

假设我有以下 build.gradle

我想将生成的应用程序 ID 添加到 strings.xml,如下所示:

所以我可以targetPackage在偏好xml中定义的意图中使用这个值

但是值会根据我将该行放入的块而变化:

  • defaultConfig -> "com.example.base" (始终是基本 ID,无用)
  • productFlavours.free -> "com.example.free" (问题是这不会更改为调试版本的 "com.example.free.dev")
  • productFlavors -> 错误,不生成
  • buildTypes.debug -> 错误,不构建

通过使用 applicationIdSuffix,我需要 gradle 来解析最终的 id,然后才能使用它。我怎么做?

0 投票
0 回答
297 浏览

android - 多维风味——共享资源

SOLVED 解决方案是一个“ prod2
”源集。即使它以前不起作用,也可能是一个干净的构建是解决方案。

我有一个二维风格的 android 项目。

它的味道是这样的:

问题:
他们都在“main”中共享代码,使用来自不同产品的资源。Prod2 为两个品牌提供了一些共享资源。
如何仅为 prod2Brand1 和 prod2Brand2 创建共享资源?

我已经尝试将资源放在名为“prod2”和“prod2Main”的文件夹中。

0 投票
3 回答
2278 浏览

android - Flavor specific code

Consider an Activity MainActivity with a fragment MainFragment. The fragment has some complex layout hierarchy and a view group Frame which comes from a library com.framer:frame_me:1.1.

If I have 2 flavours foo and bar, and I want this Frame to be there only in bar flavour and not in foo, the XML element java code and dependency. How should I do this?

I can compile the dependency using

But what about the fragment and its XML. I don't want to write 2 variations the fragment in both flavours because I don't want to maintain the same code in 2 places.


One possible idea (probably a bad one) in my mind is that this:

  1. Move the XML element in a separate file in bar source set. Add ViewStub element in the foo source set with the same name. Now include this XML file using include in the fragment XML
  2. Add an interface to handle Frame view in main source set. Add an empty implementation in foo source set and one in bar source set. This way all logic can remain in bar while all common logic remains in main source set.

This all sounds an awfully lot of work just to write flavour specific code and xml.

0 投票
1 回答
903 浏览

android-gradle-plugin - 从 sourceSets 中排除特定文件

使用 android 风格,我试图从另一个风格继承一种风格并覆盖父类中的一个类。除了目标类显示为重复之外,一切看起来和工作都很完美。我的猜测是有一种方法可以从 sourceSets 中排除父风味的类,例如:

有人可以帮我弄这个吗。谢谢!

0 投票
1 回答
1761 浏览

android - Ionic2/Cordova 构建具有不同功能的发布应用程序。示例:免费和付费

我正在开发一个应用程序,它将有一个付费(完整)版本和一个免费(精简版)版本。

在为 Android 开发的另一个应用程序中,可以使用风味 ( ) 轻松管理它productFlavors,我可以在其中配置应用程序任何部分的替换。例如:我可以boolean PAID_VERSION为每个应用程序配置一个 applicationId 和 flag ,如下所示:

在代码中我可以检查PAID_VERSION以下方式的标志:

如果我想按版本更改图标和应用程序名称,我应该在applicationId每种风格的包 () 中指定替换默认图标的特定图标,例如:

字符串资源应用程序名称:

自由路径:/free/res/values/strings.xml

付费路径:/paid/res/values/strings.xml

图标资源:

自由路径:/free/res/drawable/icon.png(Imagem Free)

付费路径:/paid/res/drawable/icon.png(Imagem付费)


问题

怎么可能有与 Ionic2/Cordova 项目类似的配置,这可能使用相同的代码库生成 2 个具有一些不同功能的应用程序,同时独立地分布在商店中?