最近在开发软件过程中遇到一个很奇怪的问题,原先一个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...