修改Kezong Fat-Aar适配Gradle8.0后遇任务找不到错误求助
问题分析与解决方案
结论
你遇到的任务找不到问题和移除kotlin-android-extensions、删除sourcesJar的classifier无关,核心原因是Kezong Fat-Aar插件依赖的旧Android Gradle Plugin(AGP)API在Gradle 8.0/AGP 8.0中被废弃或变更了。
具体原因
transformClassesWithTransformRForFlavor1Debug这类任务属于旧AGP的Transform API范畴,而AGP 8.0(对应Gradle 8.0)已经彻底废弃了Transform API,改用新的Artifacts API来处理字节码转换、资源合并等构建流程。Kezong插件原本是基于旧Transform机制实现的aar合并逻辑,在AGP 8.0环境下,系统不再生成这类旧Transform任务,自然会出现“找不到任务”的报错。
后续修复方向
- 替换旧Transform API:检查插件源码中注册Transform、处理类转换的逻辑,将其替换为AGP 8.0支持的Artifacts API或Variant API。比如用
androidComponents的变体回调来获取构建工件,而不是依赖旧的Transform任务链。 - 避免硬编码任务名:插件中如果存在直接引用
transformClassesWithTransformRXXX这类动态生成任务名的代码,要改成通过Variant对象动态获取对应任务,AGP 8.0的任务命名规则已发生变化。 - 对齐AGP与Gradle版本:确保项目中AGP版本和Gradle 8.0严格匹配(AGP 8.0.x对应Gradle 8.0-8.2),版本不兼容也可能引发这类构建任务异常。
内容的提问来源于stack exchange,提问作者SuperCed
相关产品推荐
相关产品推荐

