最近在开发软件过程中遇到一个很奇怪的问题,原先一个module引用替换成打包成AAR后放入libs中引用,编译安装都可以通过,但在运行时就会报java.lang.NoClassDefFoundError错误,软件崩溃甚凶。但经过反编译apk发现它所报缺少的类是存在的,不断试错终于找到问题原因,原来是该类继承的接口不存在导致。该接口为一个第三方库,它是在module的gradle中以implementation声明,在app中没有声明,因此在app引用module时不会有任何错误,而在通过AAR引用该module时就会因为AAR不会打包implementation方式的AAR导致NoClassDefFoundError问题。
能找到的类报NoClassDefFoundError
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 1. 前言 实习做NLP任务时,在离线train获得模型bin文件后,在部署到线上之前经常需要测试一下QPS等指标...
- 一句话总结 若一个类在类加载过程中的任一阶段出错,随后对该类的任何主动引用都只会抛出java.lang.NoCla...
- 关于Android Studio生成aar包libs下直接使用出现NoClassDefFoundError错误的总...
- 解决java.long.NoClassDefFoundError 这个问题的原因多出现于Android版本兼容上 ...
- 原文传送门 这同时也是一个经常被问到的面试题。 字面上的区别 一个是Error,一个是Exception。在Jav...