向Android Library Gradle添加androidResources不压缩选项报错求助
解决AGP 8.1 Beta版本中Android Library配置
androidResources报错的问题 问题说明
在AGP 8.1.0-beta04/05 + Gradle 8.0环境下,为Android Library的build.gradle.kts添加新DSL配置:
android { androidResources { noCompress += "tflite" } }
同步时触发类型转换错误:
class com.android.build.gradle.internal.dsl.AaptOptions$AgpDecorated_Decorated cannot be cast to class com.android.build.api.dsl.LibraryAndroidResources(二者位于同一类加载器的未命名模块中)
而使用旧版已弃用的aaptOptions配置则正常:
android { aaptOptions { noCompress += "tflite" } }
解决方案
方案1:临时使用兼容配置(推荐)
由于AGP 8.1的beta版本存在该DSL的类型转换bug,暂时继续使用旧版aaptOptions配置,待AGP发布稳定版后再切换到新DSL。旧配置虽标记为弃用,但当前beta版本中仍能正常工作,不影响功能。
方案2:调整配置到defaultConfig内的androidResources
尝试将androidResources配置嵌套到defaultConfig中,部分场景下可规避类型转换问题:
android { defaultConfig { androidResources { noCompress += "tflite" } } }
方案3:升级到AGP 8.1稳定版或后续beta版本
该问题属于AGP beta版本的已知bug,后续发布的稳定版或更新的beta版本大概率会修复此问题,可关注AGP更新日志,升级后再尝试使用新DSL。
内容的提问来源于stack exchange,提问作者Ionut
相关产品推荐
相关产品推荐

