问题标签 [android-build-type]

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 回答
405 浏览

android - Gradle 日志中的 BuildType_Decorated 信息呢?

当我启动 Gradle 来构建测试或调试应用程序时,它会在一开始就记录下来。

具有来自版本 builtType 的属性,而我运行了 Debug buildType !

知道这个问题可能是什么吗?

0 投票
1 回答
325 浏览

android - 在 gradle buildType 中动态设置 versionNameSuffix

主要问题是我想versionNameSuffix根据正在编译的风格向我的 buildTypes 添加一个。

我必须品尝originalfree一种 buildtype beta。所以我想做这样的事情:

并且betaVersion()应该取决于正在编译的风格,它应该为每个人返回一个不同的整数。

0 投票
2 回答
3404 浏览

android - 基于 Build Variant 修改 App 名称的 Gradle-only 解决方案

我正在尝试修改我的 gradle 文件以允许我的应用程序基于Flavor和使用不同的名称Build Type。到目前为止,我已经成功地通过Android Gradle Plugin Docs使用技术进行Flavor基于命名的简洁明了Manifest Merging

当前的

这些是我的主屏幕上我的debugrelease构建的应用程序的名称。

它很近,但是...

期望的

我想要这个,所以我知道debug在我的主屏幕上哪种口味。我不关心区分release口味,因为用户在他们的设备上只会有一种(可能有不止一种,但我不关心)

鉴于 Gradle 的可扩展性,我认为这是可能的;但是,我不是高级 Gradle 用户。

那么,我怎样才能简洁地(尽可能)扩展我的代码以获得我想要的输出?

注意:以上表格versionNameSuffix用作我的应用名称的后缀;但是,它可以是任何东西(另一个添加的变量??),它可以让我知道我只在我的调试构建类型中使用了哪种风格。

非目标

  • 对Android/GradleString Resource的答案中的解决方案不感兴趣: App name based on build type *and* product flavor 。首选纯基于 Gradle 的解决方案。

  • Manifest Merger对放弃我目前实施的方法不感兴趣。https://stackoverflow.com/a/28465883/2333021的答案是实现我已经完成的工作的另一种方式,并且不允许我只在调试版本上执行此操作(我可以看到。如果确实如此,然后让我知道)。

代码

显现

更新

新输出

0 投票
1 回答
199 浏览

android - Gradle Flavor 变量的抽象为

最近,我想出了如何使用占位符进行 Manifest Mergers。我在我的应用程序中实现了它,在大多数情况下,我对结果感到非常满意 -仅 Gradle 解决方案,用于根据 Build Variant 修改应用程序名称

以前,您必须String Resource只使用一个字符串创建一个新的稀疏字符串,该字符串具有您想要在不同资源(例如风味和构建类型)上更改的属性。就个人而言,我不认为这种方法真的很干净。简单易行,是的,但不干净。

从那我创建了以下工作。但是,我不喜欢重复的代码,我Flavor的每个人都会有重复的代码。这是可以抽象出来的东西吗?可能可以把它放在defaultConfig?

例如,在下面的代码中,是否有某种方法可以移动manifestPlaceholders每个 Flavor 中存在的代码,并将其抽象为defaultConfig某种方式,以便我可以定义一次?

顺便说一句,上面的代码会给我applicationLabel以下内容。我使用这些来确定主屏幕上应用程序的名称。

期望的

0 投票
1 回答
189 浏览

teamcity - TeamCity:编译错误:​ :​app:​compileDevDebugJavaWithJavac

TeamCity 无法构建我的 Android 项目。我认为它不知道需要什么样的构建类型。还是我弄错了,还有其他错误?

0 投票
1 回答
40 浏览

android - 仅为一种构建风格启用资源缩减

是否可以编写 build.gradle 文件以仅对一种构建风格启用资源收缩?目前我们可以启用每个构建类型的收缩,我们可以有每个风味的构建类型吗

0 投票
1 回答
4081 浏览

android - Android:buildTypes applicationIdSuffix 错误

我想设置一个项目来构建两个可以安装在同一设备上的不同 apk - 其中一个是生产 apk,第二个是调试 apk。为此,我在 build.gradle 中定义:

但是当我尝试同步 gradle 时出现错误:

除了 build.gradle 的 buildTypes 部分,我还应该做些什么才能使其正常工作?

0 投票
1 回答
345 浏览

android - 在自定义构建类型下未找到可绘制对象

我试图为我的应用程序配置一个与我的发布配置相同的构建类型,只是它加载了一些用于测试应用程序的示例数据。我执行了以下步骤:

我在应用程序中使用以下buildTypes配置build.gradle

我在文件夹下创建了对应的源集(文件夹结构)src

当我尝试使用以下语句获取资源时,找不到资源(返回 0):

我在源集中使用字符串资源没有问题,但我无法访问此配置中的可绘制对象。将它们移动到drawable下面的文件夹main也不起作用。我错过了什么?

0 投票
2 回答
2684 浏览

android - 无法在同一设备上安装调试和发布版本

我已经在我的项目中配置了构建变体,applicationIdSuffix以便我可以在我的设备上安装调试和发布版本。这是我的build.gradle(相关部分):

但是当我尝试安装两者时,它失败了。我尝试了不同的方法:

1.生成调试和发布apk,并将它们转移到我的手机存储中。第一个安装,第二个给出错误“未安装应用程序” - 没有更多信息。无论我先安装哪个版本,这都是一样的。

2.从存储安装调试版本,然后尝试从play store安装release版本,但play store给出错误:

无法安装应用程序错误代码:-505。

3.从商店安装发布版本,然后尝试从 android studio 运行项目,这是我的“运行”日志:

知道发生了什么吗?

更新:不知道它是否有帮助,但这是我声明我的启动器活动的方式androidmanifest.xml

0 投票
2 回答
1104 浏览

android - 适用于 Alpha/Beta/Production 的 Android buildTypes apk

我想在 Play Store 上发布我的 apk。最初我将在 alpha 版本中发布它,然后是 beta 版本,如果一切顺利,我将在生产中发布它。我们可以在 gradle 的 buildType 中为每个定义不同的 api 端点吗?如果是,那怎么办?因为我只想更改我在整个应用程序中调用的 API 的端点。就像我在 alpha 上发布我的 apk 一样,它指向的 api 将是http://test.alpha.bla.bla

测试版:http://test.beta.bla.bla

用于生产:http://test.production.bla.bla

所以在这个我的所有版本的应用程序(alpha/beta/production)将具有相同的版本代码,而无需上传新的 apk。

谢谢。