You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启用混淆后Android Dagger Hilt出现ClassCastException问题求助

解决Hilt混淆导致的ClassCastException问题

这个问题是因为你只保护了TestApplication本身,但Hilt编译时生成的依赖注入辅助类被混淆了,导致运行时类型转换失败。需要补充混淆规则,保护这些自动生成的类:

补充混淆规则

修改你的<ignore-classes>配置,添加对Hilt生成类的保护:

<ignore-classes>
    <class template="class kr.co.test.TestApplication" />
    <!-- 保护Hilt生成的Injector类 -->
    <class template="class kr.co.test.*_GeneratedInjector" />
    <!-- 保护Hilt生成的Dagger组件类 -->
    <class template="class kr.co.test.Dagger*HiltComponents*" />
</ignore-classes>

原因说明

Hilt会为你的Application自动生成如TestApplication_GeneratedInjector、DaggerTestApplication_HiltComponents_SingletonC这类辅助类,它们和原Application类存在强关联的类型依赖。如果这些类被混淆,会破坏类型结构,导致启动时抛出ClassCastException。

内容的提问来源于stack exchange,提问作者Juro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 01:39:58