升级Gradle至7.x后com.jakewharton.hugo插件报错求助
Hugo插件在AGP 7.4.2 + Gradle 7.5环境下的报错解决
问题根源
Hugo 1.2.1是停止维护多年的旧插件(最后更新于2016年),其内部依赖配置使用了早已被Android Gradle Plugin(AGP)废弃的debugCompile语法。从AGP 7.x版本开始,compile、debugCompile这类旧依赖配置已被完全移除,统一替换为implementation、debugImplementation等新配置,因此插件执行时会找不到对应方法,抛出报错。
解决方案
方案1:修改Hugo插件源码适配新AGP
- 克隆Hugo仓库到本地:
git clone https://github.com/JakeWharton/hugo.git - 打开插件核心文件
hugo-plugin/src/main/groovy/com/jakewharton/hugo/HugoPlugin.groovy - 找到依赖配置代码块,将
debugCompile替换为debugImplementation:// 原代码 project.dependencies { debugCompile 'com.jakewharton.hugo:hugo-runtime:' + VERSION } // 修改后 project.dependencies { debugImplementation 'com.jakewharton.hugo:hugo-runtime:' + VERSION } - 本地编译插件,将编译生成的插件包替换项目根目录build.gradle中的
classpath依赖,或者发布到本地Maven仓库后引用。
方案2:替换为现代替代方案
由于Hugo已停止维护,更推荐使用官方工具或活跃维护的库:
- Android Studio Profiler:直接通过IDE自带的Profiler面板监控方法耗时,无需额外插件,功能更全面
- 自定义AOP注解:借助AspectJ等AOP框架实现方法耗时统计,灵活性更高
- 轻量级注解库:选择仍在维护的第三方注解库替代Hugo的功能
临时应急方案(不推荐长期使用)
如果需要快速临时适配,可在项目的根build.gradle中添加旧配置的兼容映射,但这只是权宜之计,可能带来其他兼容性问题:
subprojects { configurations { debugCompile { extendsFrom debugImplementation } } }
内容的提问来源于stack exchange,提问作者Eswara Prabu K
相关产品推荐
相关产品推荐

