使用Tri-State-Checkbox时出现Timber NoClassDefFoundError问题求助
搞定Tri-State-Checkbox运行时的Timber NoClassDefFoundError问题
嘿,这个问题我碰到过不少次,核心原因其实很简单:Tri-State-Checkbox这个库内部用了Timber日志框架,但你的项目里没引入Timber,所以运行时系统找不到对应的类,就抛出这个错误了。给你两个靠谱的解决思路:
思路一:直接补上Timber依赖
既然库依赖了Timber,那咱们直接在app模块的build.gradle里加上Timber的依赖就行,这样运行时就能找到需要的类了:
dependencies { // 保留你原来的其他依赖 implementation 'com.jakewharton.timber:timber:4.7.1' // 用最新稳定版也没问题 implementation 'com.github.sephiroth74:Tri-State-Checkbox:v1.0.0@aar' }
添加完同步一下项目,重新运行应该就能搞定这个崩溃了。
思路二:修复GitHub配置的构建失败问题
你说按GitHub的说明操作连构建都通不过,大概率是依赖声明的格式不对。一般用JitPack的库,不用加@aar后缀(除非是纯AAR发布的特殊情况),你可以试试把依赖改成这样:
dependencies { implementation 'com.github.sephiroth74:Tri-State-Checkbox:v1.0.0' }
同时别忘了确认主项目的build.gradle里已经正确配置了JitPack仓库:
allprojects { repositories { // 先保留google()、mavenCentral()这些默认仓库 maven { url "https://jitpack.io" } } }
如果还是构建失败,一定要看构建日志里的具体错误信息——比如是依赖找不到、还是和其他库版本冲突,根据错误信息调整就行。
额外小建议
要是你不想引入Timber,也可以考虑fork这个库的代码,自己移除里面的Timber依赖,但这种方式比较折腾,还是直接加Timber依赖最省事。
内容的提问来源于stack exchange,提问作者innov83r
相关产品推荐
相关产品推荐

