问题标签 [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依赖风格时出错
我正在制作一个有广告和没有广告的应用程序。我创造了两种这样的口味:
并像这样声明依赖项:
compile
该应用程序将使用而不是编译,adsCompile
但我不想包含不需要的内容。
我可以毫无错误地编译广告风格,但 noAds 会引发以下错误:
此错误出现在 ads flavor 类 (com.example.Main) 中,但不在 noAds 类中。
此外,如果我替换adsCompile
并compile
生成 noAds APK,该应用程序将在应用程序启动器中有两个图标。其中一个会起作用,而另一个不起作用。
android - 是否可以使用不同的包名称发布相同的应用程序?
我有一个项目,我必须构建许多基本相同的应用程序,但是更改公司的名称......
所以我想用口味更改包名称和颜色,并在商店中发布这些应用程序(使用不同的包名称)
可能吗?
android - Android 应用风格名称作为变量而不是静态字符串
在过去的一个小时里,我一直在尝试在 gradle.properties 中设置一些变量名称,例如 FLAVOR_NAME,然后在 build.gradle 中使用它来获得一种动态的风味名称。还没有成功。甚至可以有一个动态的风味名称吗?我的意思是:
android - manifestPlaceholders 值不是字符串
在我的 AndroidManifest.xml 文件中,我有以下应该动态填充的元数据标记:
我的 gradle 文件如下所示:
在“构建和组装”之后,清单文件中的 FACEBOOK_APP_ID 如下所示:
不幸的是,这不是一个字符串,而是一个浮点值。这不正确或我想要的。
我知道还有另一种方法可以FACEBOOK_APP_ID
在string.xml
文件中定义。build.gradle
但是由于我有很多口味,如果我们将所有与口味相关的参数放在文件中而不是文件中,那将是很好且易于维护的strings.xml
。
有谁知道如何避免字符串到浮点转换?
java - 适用于 Java Web 项目的 Android 产品风格
我想知道是否有人尝试将 Android Product Flavors 用于简单的 Java Web 项目(例如 Spring Boot),并且可以向我展示最好的方法吗?我们正在使用 IntelliJ 进行 Web 服务开发,它应该以与 Android Studio 相同的方式反映选定的风格。
我们不想使用弹簧配置文件,或者要维护多个分支。
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,然后才能使用它。我怎么做?
android - 多维风味——共享资源
SOLVED 解决方案是一个“ prod2
”源集。即使它以前不起作用,也可能是一个干净的构建是解决方案。
我有一个二维风格的 android 项目。
它的味道是这样的:
问题:
他们都在“main”中共享代码,使用来自不同产品的资源。Prod2 为两个品牌提供了一些共享资源。
如何仅为 prod2Brand1 和 prod2Brand2 创建共享资源?
我已经尝试将资源放在名为“prod2”和“prod2Main”的文件夹中。
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:
- Move the XML element in a separate file in
bar
source set. AddViewStub
element in thefoo
source set with the same name. Now include this XML file usinginclude
in the fragment XML - Add an interface to handle
Frame
view inmain
source set. Add an empty implementation infoo
source set and one inbar
source set. This way all logic can remain inbar
while all common logic remains inmain
source set.
This all sounds an awfully lot of work just to write flavour specific code and xml.
android-gradle-plugin - 从 sourceSets 中排除特定文件
使用 android 风格,我试图从另一个风格继承一种风格并覆盖父类中的一个类。除了目标类显示为重复之外,一切看起来和工作都很完美。我的猜测是有一种方法可以从 sourceSets 中排除父风味的类,例如:
有人可以帮我弄这个吗。谢谢!
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 个具有一些不同功能的应用程序,同时独立地分布在商店中?