android - 是否可以通过 ./gradlew 命令传递构建配置参数?
问题描述
我知道可以根据构建类型提供不同的参数buildConfigField
,例如:
// app.gradle
buildConfigField "boolean", "ADS_ENABLED", false
buildConfigField "String", "URL", "https://host.de"
然后我就可以像这样访问源代码中的这些字段BuildConfig.ADS_ENABLED
:但我需要的不是在 gradle 文件中硬编码这些值,而是在构建时通过gradlew
命令提供它们。
像这样的东西(这显然行不通):
./gradlew assembleQa -ADS_ENABLED=true, -URL="https://anotherhost.de"
然后能够从源代码访问这些字段。
其用例是自动化,特别是在 CI 管道上有不同的作业,可以使用不同的参数组合构建 apk,而无需为每个组合创建新的构建类型。
欢迎提出其他建议。
解决方案
您可以通过读取代码中的环境变量并将其设置在 gitlab ci 中来解决此问题,如下所示
您可以在此处找到接管示例的整个 gitlab 配置:https ://gitlab.com/viae-modules/viae-modules/-/blob/master/.gitlab-ci.yml
推荐阅读
- sql-server - 填满指令的 MSSQL 执行表
- python - AttributeError:“float”对象没有属性“to_excel”
- android - 如何旋转对话框(带动画)?
- r - 根据 R 中的条件删除/过滤行
- c++ - 如何将 QImage 格式化为 BAYER 颜色 (GRBG)?
- wordpress - 在 Wordpress 古腾堡编辑器的根容器中添加一个类
- c# - 在 azure sql 上连接到数据库的问题
- typescript - 为什么不为复杂对象“输入”窄类型?
- python - 黑帽 Python - 数据包嗅探器 - 调试
- java - Microsoft TPM Tss.java 实现 Samples.java 给出错误