升级Gradle至7.1.1后dynamicFeatures报Val cannot be reassigned如何修复
修复方案
报错根因
AGP 7.0+ 对Kotlin DSL(build.gradle.kts)的公开API定义做了调整,公开的ApplicationExtension接口中dynamicFeatures被定义为只读的MutableSet<String>属性,仅允许修改集合内部的元素,不允许直接重新赋值整个集合对象,所以用=直接赋值会触发Val cannot be reassigned报错。
具体修复步骤
- 替换直接赋值的写法
原来的错误写法示例:
改为调用集合方法添加模块:android { dynamicFeatures = setOf(":feature_a", ":feature_b") }android { // 如果需要覆盖原有配置可先执行清空 dynamicFeatures.clear() // 批量添加所有动态 feature 模块 dynamicFeatures.addAll(listOf(":feature_a", ":feature_b")) } - 确认版本匹配
你当前使用的Gradle 7.1.1和AGP 7.1.1的版本匹配关系符合官方要求,无需调整版本配置。 - 重新同步Gradle即可生效。
内容的提问来源于stack exchange,提问作者BRDroid
相关产品推荐
相关产品推荐

