一个java.lang.NoClassDefFoundError问题的解决
来源:互联网 发布:linux oracle lsnrctl 编辑:程序博客网 时间:2024/06/15 14:33
昨天为一个报错java.lang.NoClassDefFoundError的问题折腾了一天,公司里面好几位大牛帮忙,都没有搞定。后来有个同事建议我用空的Activity替换,通过逆向反推的方法找到原因了。
我要做的这个apk是在另外一个项目上已经发放的apk,移植到新平台上后,编译没有问题,在机器上验证运行时,Log打印出java.lang.NoClassDefFoundError报错,提示其中一个Activity找不到。
明明Activity就在工程中,而且AndroidManifest.xml文件中也有注册,为什么说找不到。反复google、baidu,试过很多网页上介绍的办法,还是没能解决。
后来有个同事说,既然这个Activity找不到,就换一个吧,于是我创建一个空的Activity,修改了调用的地方,编译、运行,竟然可以。于是大致猜测到是这个Activity本身存在问题。
但是这个Activity代码太多了,谁知道具体哪个位置出问题了。仔细看打印信息,其中有一行绿色的提示(在红色的报错之前)让我知道问题出在哪里了:这个Activity 继承的一个接口没有解析出来。
去掉原Activity 中与这个接口相关的代码后,再次编译、运行,问题没有复现了。事后有一个负责中间层的同事回复我,那个找不到的接口在新平台上不存在——原来如此!
通过这件事,我发现:
1.Eclipse下的Log窗口的打印信息,不光要看红色的报错,绿色的打印信息有时候也有用的;
2.出现java.lang.NoClassDefFoundError报错,不一定是代码本身的问题,也有可能是外部环境的改变导致Activity生成失败.
我要做的这个apk是在另外一个项目上已经发放的apk,移植到新平台上后,编译没有问题,在机器上验证运行时,Log打印出java.lang.NoClassDefFoundError报错,提示其中一个Activity找不到。
明明Activity就在工程中,而且AndroidManifest.xml文件中也有注册,为什么说找不到。反复google、baidu,试过很多网页上介绍的办法,还是没能解决。
后来有个同事说,既然这个Activity找不到,就换一个吧,于是我创建一个空的Activity,修改了调用的地方,编译、运行,竟然可以。于是大致猜测到是这个Activity本身存在问题。
但是这个Activity代码太多了,谁知道具体哪个位置出问题了。仔细看打印信息,其中有一行绿色的提示(在红色的报错之前)让我知道问题出在哪里了:这个Activity 继承的一个接口没有解析出来。
去掉原Activity 中与这个接口相关的代码后,再次编译、运行,问题没有复现了。事后有一个负责中间层的同事回复我,那个找不到的接口在新平台上不存在——原来如此!
通过这件事,我发现:
1.Eclipse下的Log窗口的打印信息,不光要看红色的报错,绿色的打印信息有时候也有用的;
2.出现java.lang.NoClassDefFoundError报错,不一定是代码本身的问题,也有可能是外部环境的改变导致Activity生成失败.
0 0
- 一个java.lang.NoClassDefFoundError问题的解决
- 解决 java.lang.NoClassDefFoundError的问题
- 解决“java.lang.NoClassDefFoundError“的问题
- java.lang.NoClassDefFoundError问题的解决
- 针对Android java.lang.NoClassDefFoundError 某个问题的解决
- 我的java.lang.NoClassDefFoundError问题及其解决
- Exception in thread "main" java.lang.NoClassDefFoundError问题的解决
- 一般java.lang.NoClassDefFoundError异常错误的问题和解决
- 线上一个类加载的问题(java.lang.NoClassDefFoundError)
- 如何解决java.lang.NoClassDefFoundError问题
- 解决Java.lang.NoClassDefFoundError
- 一个Android应用开发菜鸟的成长之路——工作第一天:解决了java.lang.NoClassDefFoundError问题
- Android java.lang.NoClassDefFoundError的解决
- 解决java.lang.NoClassDefFoundError错误的方法
- java.lang.NoClassDefFoundError问题
- 【问题】java.lang.NoClassDefFoundError
- 纠结+郁闷的java.lang.NoClassDefFoundError问题
- java.lang.NoClassDefFoundError问题的解决办法
- ACM or 蓝桥杯之Java输入输出相关
- 【3】CRM_用户模块_登录功能
- ubuntu16.04+CUDA 8.0+Anaconda 4.2.0+Theano+Keras+cuDNN 5 (二)
- 【Flask】如何在Flask-Admin管理视图中增加改写id的表单
- Log4j2配置
- 一个java.lang.NoClassDefFoundError问题的解决
- final关键字
- Android ListView圆角实现
- 其中的一个作业
- 【备注】【C15】《21天学通Java(第6版)》 .(美)Rogers.Cadenhead著 PDF下载
- 【Java】java中的set()和get()方法理解和使用
- 我拿到需求该怎么开始写Android项目
- 0-1背包和完全背包
- SQLite 事务