豆瓣出错:java.lang.NoClassDefFoundError: com.google.gdata.client.douban.DoubanService

转载:http://www.cnblogs.com/codebubble/archive/2013/04/08/3009115.html

04-11 23:09:23.413: E/AndroidRuntime(5989): FATAL EXCEPTION: main

04-10 23:28:44.894: E/AndroidRuntime(15118): java.lang.NoClassDefFoundError: com.google.gdata.client.douban.DoubanService

NoClassDefFoundError,此错误相关资料,请看以下两个链接:

http://javarevisited.blogspot.com/2011/06/noclassdeffounderror-exception-in.html

http://javarevisited.blogspot.com/2011/07/classnotfoundexception-vs.html

看完上面两个链接内容后,又回去看LogCat消息,在这个错误上面发现如下Log:

04-11 23:09:19.585: W/dalvikvm(5989): Unable to resolve superclass of Lcom/google/gdata/client/douban/DoubanService; (56)

04-11 23:09:19.585: W/dalvikvm(5989): Link of class 'Lcom/google/gdata/client/douban/DoubanService;' failed

04-11 23:09:19.585: E/dalvikvm(5989): Could not find class 'com.google.gdata.client.douban.DoubanService', referenced from method com.douban.android.ActivityAuth.getRequestUrl

这就终于明白了,在关于NoClassDefFoundError的第一个参考链接中的以下描述:

4) Because NoClassDefFoundError is a sub class of java.lang.LinkageError it can also come if one of it dependency like native library may not available.

查看一下DoubanService类的父类为com.google.gdata.client.Service,这个类是来自于文件夹lib下的包gdata-client-1.0.jar。换句话说,我们的APK在手机中运行找不到gdata-client-1.0.jar这个jar包。

在Google中搜索关键字:Unable to resolve superclass of,得到博客园的一篇文章的链接:

http://www.cnblogs.com/vaiyanzi/archive/2012/08/09/2629950.html

按照这个文章说明,在工程下新建文件夹libs,并把第三方jar包拷贝到此文件夹,编译运行,OK了。    

Android开发中如果将ADT 升级到17以上(包括17),如果你的项目中引用了其它第三方的jar包,在运行是就会报下面的错误。这是因为在ADT17以后第三方包统一要放在一个libs的文件夹中,如果你的第三方包(jar)没有放在这里,编译时不会将其拷贝到.dex文件中。

此时看一下工程中的bin文件夹内容,如下图:

未新建libs文件夹前,bin文件夹内容,如下图:

如果在Console窗口中看到如下输出:

[2013-04-11 23:26:32 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/google/gdata/client/douban/DoubanQuery;

[2013-04-11 23:26:32 - douban_android] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/google/gdata/client/douban/DoubanQuery;

请在libs中把lib.jar文件删除。

此项目源码调试待续……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值