问题标签 [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 - Android - 添加版本号作为 versionNameSuffix 以调试 buildTypes
我想将版本代码添加为 versionNameSuffix 的后缀。目前,我有:
我怎么能有类似的东西:
我的版本代码基于 productFlavors:
@Resolution:我将 versionCode 从 productFlavors 移到根级别,并使用接受的 anwser 在 versionNameSuffix 中注入 versionCode
android - Gradle - Android - buildConfigField 基于一对 (productFlavors, buildTypes)
我有一个字段 YOUR_POWER 设置为基于 BuildType 的值。
我的配置build.gradle
:
我怎样才能有一些配置,如:free + debug = power 70
; free + release = power 80
; paid + debug = power 90
和paid + release = power 100
?
欢迎任何建议/替代解决方案:)
@updated:这只是一个例子,字段类型也可以是字符串。
同样的问题:如何为每个构建变体设置不同的构建类型
android - 发布带有可调试 true 的发布 apk
我想发布debuggable
一个发布版本类型为 true 的库。这将帮助我调试该库。如果这个库投入生产,有什么潜在的问题?它安全吗?debuggable
与as一起发布时有什么区别false
?
android-studio - Android Studio 构建变体问题
我很难让 Android Studio 构建正确的构建变体——有时甚至让我根本无法选择构建变体。
基本上,我的项目有两个不同版本,一个是免费版本,一个是“完整”版本。包 ID 是“com.mycompany.myproj”和“com.mycompany.myprojfree”。
一旦我指定了“myproj”和“myprojfree”风格以及“release”和“debug”构建类型,Android Studio 会在列表中生成四个变体:myprojDebug、myprojfreeDebug、myprojfreeRelease 和 myprojRelease。
问题是,选择其中之一并不能可靠地选择用于构建、调试等的变体。例如,我将选择 myprojDebug,点击 Debug,然后 myprojfreeDebug 将构建(可以在控制台中看到),而免费的版本将在连接的设备上打开。
此外,有时我什至无法在构建变体窗格中选择一个或多个构建变体。我可以点击它,但它不会改变。但有时如果我先将其更改为其他内容,它会让我返回并更改未更改的内容。
我看到帖子提到了类似的问题,并遵循了所有建议——清理、重建、删除 .idea、删除构建文件夹、使缓存/重新启动无效、删除 app.iml 等——都无济于事。
值得注意的是,直到昨天我从 Android Studio 3.1 更新到 3.4.1 之前,所有这些都运行良好。
这是我的应用程序 build.gradle 的简化版本:
android - 如何对 Android 中不同 Gradle buildTypes 的应用程序行为进行单元测试?
我正在尝试测试 Android 应用程序中不同阶段的行为。考虑到官方文档BuildTypes
,我在模块中使用不同的 Gradlebuild.gradle
来定义每个阶段所需的设置。
每个buildType
块都包含一个字符串,该字符串具有相似的键STAGE_NAME
和每个阶段的不同值,例如test_stage
和uat_stage
。
这些值在应用程序中被访问,以相应BuildConfig.STAGE_NAME
地更改一些参数,如 API 端点。
但问题是,似乎没有官方方法可以对每个阶段的结果行为进行单元测试。
Android 文档提到了一种更改测试buildType
的方法,该方法明确定义了buildType
用于测试的测试,但我想知道是否有另一种方法来测试结果行为。
模块的 build.gradle 文件:
示例 Retrofit 接口,它应该通过访问STAGE_NAME
并找出应该使用哪些URL 来为每个阶段使用不同的 API URL API_URL
:
例如,在这个改造界面中,我想测试getUrl
函数的行为,以确保它为每个阶段返回正确的 URL。
更新:
看了这个问题之后,我想知道也许一种测试方法,可能是嘲笑BuildConfig
. 但由于STAGE_NAME
只有在成功构建后才可用,因此无法正常模拟。
android - 如何在 network_security_config.xml 中包含 BuildConfig 或资源
为了在 Android 中的 localhost 上进行 http-API 调用,我需要添加一个 network-security-config 来定义我的本地 IP 地址。当然,每个开发者的本地 IP 地址是不同的,所以我把这个值放进去,gradle.properties
这样每个人都可以自己覆盖这个值。但是,我还没有找到如何在network-security-config.xml
文件中包含该值。我通过创建 abuildConfigField
或resValue
in进行了尝试build.gradle
,但两者似乎都不起作用。我能做些什么?
network_security_config.xml
应用程序/build.gradle
gradle.properties
欢迎任何其他如何优雅地包含我的本地 IP 地址的解决方案network_security_config.xml
!
android - 如何将 gradle buildTypes 配置为仅在 jest 测试通过时运行?
我正在尝试在任何类型的 android 构建之前运行我的 react-native jest 测试。如果测试通过,那么我允许构建,如果没有,我会打印一条错误消息。我查找了 gradle 并且无法弄清楚如何配置我的不同构建类型来做到这一点。我试图开始向我的 build.gradle 文件添加一个非常简单的任务:
和一个
但这只会使整个构建失败。这是我的 build.gradle 的样子:
如何将 gradle 配置为仅在 jest 测试(npm 运行测试)通过时才构建?
android - 根据构建类型更改配置文件中的字符串值 - Android
我在 res/values 位置有一个配置文件 (config.xml)。在这个文件中,我需要添加一个字符串资源,它的值应该根据构建类型(调试/发布)而改变。
无法创建多个文件,例如 res/debug/values/config.xml 和 res/release/values/config.xml。我正在寻找像清单占位符这样的解决方案,我可以在 Gradle 中配置值并在 config.xml 中使用它
android - gradle 更新后,Google 服务插件为客户端搜索错误的 google-services.json 文件
更新 gradle 后,我No matching client found for package name
在尝试构建我们的release
构建类型时遇到错误。我们目前有一个google-services.json
包含用于我们发布版本的客户端,一个包含用于所有其他测试环境的客户端。我们过去以以下方式组织文件:
这一直很好,直到我们最近将 gradle 升级到 5.4.1。现在,当尝试构建发布时,Google 服务插件似乎只搜索第一个文件并关闭第二个文件。
当我删除google-services.json
测试环境时,发布构建类型再次起作用。有没有办法只用两个google-services.json
文件来实现这一点,还是我需要为位于相应目录中的每种构建类型设置一个文件?
java - 我们可以合并两个安卓源并使用产品风格吗?
我有两个具有相同源代码的 android 项目,只有两个应用程序中的应用程序图标更改。但我没有使用产品风味。现在我需要合并源代码并使用产品风味。所以有可能吗?