java java.lang.NoClassDefFoundError记录

来源:互联网 发布:什么软件看小说免费 编辑:程序博客网 时间:2024/05/22 22:57

1、环境:

android studio 2.1;

gradle 1.2.3;

2、异常:

 java.lang.NoClassDefFoundError: org.apache.http.entity.mime.MultipartEntity
                                                                        at com.umeng.socialize.net.utils.UClient.httpRequestPost(UClient.java:138)
                                                                        at com.umeng.socialize.net.utils.UClient.execute(UClient.java:81)
                                                                        at com.umeng.socialize.net.base.SocializeClient.execute(SocializeClient.java:28)
                                                                        at com.umeng.socialize.controller.impl.b.a(ShareServiceImpl.java:731)
                                                                        at com.umeng.socialize.controller.impl.b.a(ShareServiceImpl.java:74)
                                                                        at com.umeng.socialize.controller.impl.b$4.a(ShareServiceImpl.java:632)
                                                                        at com.umeng.socialize.controller.impl.b$4.doInBackground(ShareServiceImpl.java:612)
                                                                        at com.umeng.socialize.common.UMAsyncTask$1.run(UMAsyncTask.java:61)
                                                                        at android.os.Handler.handleCallback(Handler.java:733)
                                                                        at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                        at android.os.Looper.loop(Looper.java:136)
                                                                        at android.os.HandlerThread.run(HandlerThread.java:61)

3、说明:

org.apache.http.entity.mime.MultipartEntity位于httpmime-4.1.3.jar中(友盟分享里的包);

包已经添加到项目中如图所示;



按理说包已经添加进去了,为什么还会出现上述异常呢?

带着疑问我反复折腾项目!

4、本项目比较大,已经通过multidex进行分包:

5、这样解决的:

无用:尝试将build版本升级到24.0.1,gradle版本升级到2.1.0都不起作用,中途clean过几次;

有用:最后将httpmime-4.1.3.jar移除项目再重新添加,clean项目,运行到该功能处没再出现异常

6、测试:

还原:将build版本和gradle版本等修改过的都恢复到最初(控制变量法);

操作:将httpmime-4.1.3.jar移除后,clean再运行,出现相同异常;又将其添加进项目后,clean再运行,正常。

7、结论:

根据测试结果,那意思就是说,这是android studio的坑吗?表面看着是把包添加进去了实际上却没有!



0 0