Gradle中用Groovy动态拼接react-native-config配置报错求助
问题解决:动态构建react-native-config的envConfigFiles配置
你的核心问题是类型不匹配:原配置中envConfigFiles是Groovy的Map(键值对结构),但你错误地用List(数组)来赋值,导致Gradle无法识别配置格式。
正确实现代码
直接构建Map类型的配置即可,以下是两种可行写法:
写法1:基础循环构建Map
def variants = [ 'aaa', 'bbb' // 添加更多变体 ] // 定义为Map(空Map用[:]表示),而非List def variantsConfig = [:] variants.each { name -> // 往Map中添加键值对 variantsConfig["${name}Debug"] = ".env.${name}" variantsConfig["${name}Release"] = ".env.${name}" } project.ext.envConfigFiles = variantsConfig
写法2:简洁的collectEntries方式
def variants = ['aaa', 'bbb'] project.ext.envConfigFiles = variants.collectEntries { name -> // 为每个变体生成Debug/Release两个键值对,合并为一个Map [ ["${name}Debug": ".env.${name}"], ["${name}Release": ".env.${name}"] ].sum() }
额外注意点
你原代码中存在变量名笔误:定义了variants数组,但循环时用了variantsJson,这会导致「找不到变量」的错误,记得修正为一致的变量名(比如统一用variants)。
内容的提问来源于stack exchange,提问作者Gaylord.P
相关产品推荐
相关产品推荐

