问题标签 [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.
android - Gradle 日志中的 BuildType_Decorated 信息呢?
当我启动 Gradle 来构建测试或调试应用程序时,它会在一开始就记录下来。
具有来自版本 builtType 的属性,而我运行了 Debug buildType !
知道这个问题可能是什么吗?
android - 在 gradle buildType 中动态设置 versionNameSuffix
主要问题是我想versionNameSuffix
根据正在编译的风格向我的 buildTypes 添加一个。
我必须品尝original
和free
一种 buildtype beta
。所以我想做这样的事情:
并且betaVersion()
应该取决于正在编译的风格,它应该为每个人返回一个不同的整数。
android - 基于 Build Variant 修改 App 名称的 Gradle-only 解决方案
我正在尝试修改我的 gradle 文件以允许我的应用程序基于Flavor
和使用不同的名称Build Type
。到目前为止,我已经成功地通过Android Gradle Plugin Docs使用技术进行Flavor
基于命名的简洁明了Manifest Merging
当前的
这些是我的主屏幕上我的debug
和release
构建的应用程序的名称。
它很近,但是...
期望的
我想要这个,所以我知道debug
在我的主屏幕上哪种口味。我不关心区分release
口味,因为用户在他们的设备上只会有一种(可能有不止一种,但我不关心)
鉴于 Gradle 的可扩展性,我认为这是可能的;但是,我不是高级 Gradle 用户。
那么,我怎样才能简洁地(尽可能)扩展我的代码以获得我想要的输出?
注意:以上表格versionNameSuffix
用作我的应用名称的后缀;但是,它可以是任何东西(另一个添加的变量??),它可以让我知道我只在我的调试构建类型中使用了哪种风格。
非目标
对Android/Gradle
String Resource
的答案中的解决方案不感兴趣: App name based on build type *and* product flavor 。首选纯基于 Gradle 的解决方案。Manifest Merger
对放弃我目前实施的方法不感兴趣。https://stackoverflow.com/a/28465883/2333021的答案是实现我已经完成的工作的另一种方式,并且不允许我只在调试版本上执行此操作(我可以看到。如果确实如此,然后让我知道)。
代码
显现
更新
新输出
android - Gradle Flavor 变量的抽象为
最近,我想出了如何使用占位符进行 Manifest Mergers。我在我的应用程序中实现了它,在大多数情况下,我对结果感到非常满意 -仅 Gradle 解决方案,用于根据 Build Variant 修改应用程序名称
以前,您必须String Resource
只使用一个字符串创建一个新的稀疏字符串,该字符串具有您想要在不同资源(例如风味和构建类型)上更改的属性。就个人而言,我不认为这种方法真的很干净。简单易行,是的,但不干净。
从那我创建了以下工作。但是,我不喜欢重复的代码,我Flavor
的每个人都会有重复的代码。这是可以抽象出来的东西吗?可能可以把它放在defaultConfig
?
例如,在下面的代码中,是否有某种方法可以移动manifestPlaceholders
每个 Flavor 中存在的代码,并将其抽象为defaultConfig
某种方式,以便我可以定义一次?
顺便说一句,上面的代码会给我applicationLabel
以下内容。我使用这些来确定主屏幕上应用程序的名称。
期望的
teamcity - TeamCity:编译错误: :app:compileDevDebugJavaWithJavac
TeamCity 无法构建我的 Android 项目。我认为它不知道需要什么样的构建类型。还是我弄错了,还有其他错误?
android - 仅为一种构建风格启用资源缩减
是否可以编写 build.gradle 文件以仅对一种构建风格启用资源收缩?目前我们可以启用每个构建类型的收缩,我们可以有每个风味的构建类型吗
android - Android:buildTypes applicationIdSuffix 错误
我想设置一个项目来构建两个可以安装在同一设备上的不同 apk - 其中一个是生产 apk,第二个是调试 apk。为此,我在 build.gradle 中定义:
但是当我尝试同步 gradle 时出现错误:
除了 build.gradle 的 buildTypes 部分,我还应该做些什么才能使其正常工作?
android - 在自定义构建类型下未找到可绘制对象
我试图为我的应用程序配置一个与我的发布配置相同的构建类型,只是它加载了一些用于测试应用程序的示例数据。我执行了以下步骤:
我在应用程序中使用以下buildTypes
配置build.gradle
:
我在文件夹下创建了对应的源集(文件夹结构)src
。
当我尝试使用以下语句获取资源时,找不到资源(返回 0):
我在源集中使用字符串资源没有问题,但我无法访问此配置中的可绘制对象。将它们移动到drawable
下面的文件夹main
也不起作用。我错过了什么?
android - 无法在同一设备上安装调试和发布版本
我已经在我的项目中配置了构建变体,applicationIdSuffix
以便我可以在我的设备上安装调试和发布版本。这是我的build.gradle
(相关部分):
但是当我尝试安装两者时,它失败了。我尝试了不同的方法:
1.生成调试和发布apk,并将它们转移到我的手机存储中。第一个安装,第二个给出错误“未安装应用程序” - 没有更多信息。无论我先安装哪个版本,这都是一样的。
2.从存储安装调试版本,然后尝试从play store安装release版本,但play store给出错误:
无法安装应用程序错误代码:-505。
3.从商店安装发布版本,然后尝试从 android studio 运行项目,这是我的“运行”日志:
知道发生了什么吗?
更新:不知道它是否有帮助,但这是我声明我的启动器活动的方式androidmanifest.xml
:
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.production.bla.bla。
所以在这个我的所有版本的应用程序(alpha/beta/production)将具有相同的版本代码,而无需上传新的 apk。
谢谢。