android - 如何根据构建类型和构建风格管理配置
问题描述
在我的应用程序中,我有 2 种构建类型release
,debug
下面是代码片段。
buildTypes {
getByName("debug") {
applicationIdSuffix = ".debug"
versionNameSuffix = ".debug"
buildConfigField("boolean", "DEBUG_MODE", "true")
}
getByName("release") {
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
buildConfigField("boolean", "DEBUG_MODE", "false")
}
}
我还有 2 种产品风格,下面是代码片段。
flavorDimensions("version")
productFlavors {
create("flavor1") {
setDimension("version")
}
create("flavor2") {
setDimension("version")
versionCode = 1
versionName = "1.0"
}
}
现在我总共有 4 种产品类型
- 风味1调试
- 风味1释放
- 风味2调试
- 风味2释放
现在我需要创建一个变量 app_name,以便不同产品类型的应用名称可以不同。
- flavor1debug ---------> app_name : flavor1 (debug)
- flavor1release ---------> app_name : flavor1
- flavor2debug ---------> app_name : flavor2 (debug)
- flavor2release ---------> app_name : flavor2
如何使用配置或 strings.xml 实现相同的目标
编辑:假设,我正在使用第三方库并且我想使用不同的身份验证密钥,如何使用Flavor
&buildType
组合来实现这一点?
即我需要基于以下配置的 4 个不同的键
- Flavor1 + 调试 ========= Key1
- 风味1 + 释放========= Key2
- Flavor2 + 调试 =========== Key3
- 风味2 + 释放========== Key4
任何帮助,将不胜感激。
解决方案
在每个源集中声明strings.xml,然后你可以为不同的构建类型和风格设置不同的值检查这个
推荐阅读
- powershell - 带有“az webapp create-remote-connection”的 Powershell 脚本在此指令处暂停
- c# - 奇怪的错误需要帮助识别问题 - 可能的时间/协同程序问题?Unity3D - C#
- php - 向表中添加新字段并编辑表单 Symfony
- android - ListView 不显示带有 BaseAdapter 的 ImageButton
- c++ - 即使我与-ldl链接,Cmake对符号'dlsym@@GLIBC_2.2.5的未定义引用
- compilation - 使用外部库编译 Fortran 时,“无法打开模块文件,没有这样的文件或目录”
- python - 使用 PYODBC 将一定数量的参数传递给存储过程时出错
- python - 如何使用python将cmd中的命令输出传递给txt文件?
- r - 用数据框中的单词替换确切的字符串并匹配仅包含某个单词的字符串
- keras - 堆叠 2 个卷积层