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

android - 如何在我的应用程序中为两种风格保留 Java 文件并为其他人排除它?

我有一个 Android 应用程序,比如说,三种风格。第一个叫做free。第二种味道叫做paid。而第三种味道被称为b2bClient

free并且pro需要一个库(让它成为 Google Analytics),并且为了避免代码重复,GoogleAnalyticsHelper围绕对 Google Analytics 的调用的辅助类位于主源集中。但b2bClient不使用图书馆。为了减小b2bClientAPK 的大小,我没有将库包含在 Gradle 中的依赖项中。当我运行时它会导致编译错误,assembleB2bClient这很明显(构建系统只是没有来自com.google.android.gms.analytics.

GoogleAnalyticsHelper当风味如下时,我尝试从源集中排除b2bClient

那也没用。同样的错误。是否可以从特定风味的主要源集中排除一个类?

0 投票
0 回答
1218 浏览

android - 3 个不同的 firebase 项目的不同风格

我有 3 个不同的域,A、B 和 C。

我在各自的控制台中创建了 3 个不同的 Firebase 项目。

我的问题

我计划创建一个 Android 项目并向它们添加风味以支持 A、B、C,并将它们各自的 google-json 文件放在各自的风味目录中。

请记住,我不能将 A、B、C 组合在一个 firebase 项目中,因为它们完全是 3 个不同的域。

我想知道创建产品风味是否符合我的要求?

我怎样才能通过风味来实现它?如果不是唯一可能的方法是创建 3 个不同的项目?

0 投票
2 回答
41198 浏览

android - Gradle 警告:在查看时找不到 google-services.json

我收到以下警告。我怎样才能避免这个警告?

在查看 [src/flavor1/debug, src/debug, src/flavor1] 时找不到 google-services.json 在查看 [src/flavor1/release, src/release, src/ 时找不到 google-services.json flavor1] 在查看 [src/flavor2/debug, src/debug, src/flavor2] 时找不到 google-services.json 在查看 [src/flavor2/release, src/release,源代码/风味2]


我在app/google-services.json添加了两个 client_info

0 投票
1 回答
52 浏览

android - 在应用程序中使用风味的最佳实践

我知道我可以检查以下口味:

但这值得非常条件来检查每一步。

检查味道的最佳做法是什么?

0 投票
1 回答
1013 浏览

java - 来自不同口味的片段膨胀

我正在学习 Android,当它们处于不同的风格时,我找不到片段实例化错误的解决方案。

设置:

  • 我有一个加载到主要活动中的主要片段。
  • 我有两个好处:付费和免费。
  • 应用程序的主要(公共)部分没有片段(布局 + java 文件),我把它们放在了有利位置。

当我尝试运行我的程序时出现以下错误:

我尝试了许多不同版本的片段名称,因为错误消息告诉我问题出在此,不幸的是它们都不起作用。你能帮我找出问题的原因吗(我的意思不仅仅是解决方案,而且为什么这不起作用)?代码可以在 GitHub 上找到,但相关文件在这里:

src/java/com/udacity/gradle/builditbigger/MainActivity.java

src/res/layout/activity_main.xml

src/free/java/com/udacity/gradle/builditbigger/free/MainActivityFragment.java

src/free/res/layout/fragment_main.xml

src/paid/java/com/udacity/gradle/builditbigger/paid/MainActivityFragment.java

src/paid/res/layout/fragment_main.xml

0 投票
1 回答
290 浏览

android - 在android中生成签名apk时配置库构建类型

我正在制作一个大型项目模块化。我已经分离了代码和布局文件,除了一个问题外一切正常。

我需要在模块中创建 3 种构建类型,即 beta、stage 和 live(原因稍后提到)。现在有一件事我无法理解。

  • 当直接从 Android Studio 运行时,我可以选择在构建时使用库模块的哪个构建变体。但
  • 生成签名的 apk 时,它不会询问库的构建类型。

一定有一些

  • 可以设置的默认值来配置它。我正在寻找那些可以使用的配置 选项
  • 生成签名 apk 时默认选择哪种构建类型的库?

我在库模块中创建构建变体的原因是我在模块中使用了 Content Provider,并且在同一设备中同时安装多个构建类型时出现 CONTENT_PROVIDER_AUTHORITY_CONFLICT 错误。

因此,为了同时安装 beta、stage 和 live build,我在 build.gradle 中添加了 Content Authority 作为字符串资源

0 投票
2 回答
2761 浏览

android - android BuildConfig.BUILD_TYPE 始终处于发布状态

我正在实现一项新功能,该功能取决于应用程序是否正在运行、调试或发布,在两个 url 之间进行选择。

这是我使用 insidel gradle 来选择使用哪个 url 的代码->

侧面gradle中的代码

在下面的行中,我想要获取正确的 url,但是当我在调试中使用构建变体进行调试时,代码返回我发布 url。

获取 url 的代码行 -> 代码获取网址

我得到的网址-> 网址图片

检查 BuildConfig.BUILD_TYPE ->

构建配置

我得到释放模式,为什么?在 BUILD_TYPE 中进行一些研究,我发现了不同的 BuildConfig,其中两个在版本中具有 BUILD_TYPE ->

发布模式

它们之间的唯一区别是 -> 具有 BUILD_TYPE = "debug" 的那些具有像这样的 DEBUG ->

构建类型

BUILD_TYPE = "release" 有这样的调试 ->

调试图像

如何更改发布中的调试?知道 BuildConfig 类是单独生成的吗?

0 投票
0 回答
49 浏览

android - 导入多种风格的库

我有一个带有这种口味的库:

我的构建产生了这个文件:

在此处输入图像描述

如何使用不同风格的图书馆?示例:我想构建一个使用 nocustomer 风格的应用程序。我应该在 gradle app 文件上写什么?包含哪个库?

0 投票
0 回答
79 浏览

android - 具有风味和依赖关系的 Android 库

我有带有“水”和“蓝色”口味的自定义库:

两者都从“主”文件夹覆盖 TestA.class

在应用程序中我有:

但是当我为可能的应用程序选择“blueDebug”变体时,它会像我预期的那样烤“MAIN”而不是“BLUE”

为什么 ?

谢谢

0 投票
1 回答
272 浏览

android - Android 风格:在特定风格上添加外部库

在我的项目 gradle 中,我声明了两种风格:

现在我只需要包含和使用外部 jar 库来实现第二种风味。我能怎么做?