在学习JSON例子时遇到此错误,错误内容:
08-06 03:57:43.515: E/AndroidRuntime(513): Uncaught handler: thread main exiting due to uncaught exception
08-06 03:57:43.523: E/AndroidRuntime(513): java.lang.NoClassDefFoundError: com.google.gson.stream.JsonReader
08-06 03:57:43.523: E/AndroidRuntime(513):         at mars.json01.JsonUtils.parseJson(JsonUtils.java:18)
08-06 03:57:43.523: E/AndroidRuntime(513):         at mars.json01.MainActivity$ButtonListener.onClick(MainActivity.java:28)
08-06 03:57:43.523: E/AndroidRuntime(513):         at android.view.View.performClick(View.java:2364)
……
……

在解决过程中参考了:http://www.jili360.com/home-space-uid-1618-do-blog-id-1257.html

This fixed it for me:

  • Remove all Android Library projects and external jars from the build path.
  • Create a folder named 'libs' in your project.
  • Place all external .jars in that folder, the ADT should now place them under 'Android Dependencies'.
  • Re-import all your previous Android Library projects the normal way.

The issue is that external jars are not placed in the 'libs' folder by default when using Properties - Java Build Path- Add External Jar, instead they are placed under 'Referenced Libraries' instead of 'Android Dependencies' and this causes the NoClassDefFoundError.

Please, check Dealing with dependencies in Android projects for more details.

解决方案:
问题原因:之前版本的ADT,把引入的包放在Referenced Libraries中,ADT升级到17后就出现了Android Dependencies,所以如果程序中引入的包没有在Android Dependencies中时,就会报文章开头的错。
解决方法:先移除之前的Referenced Libraries中的包,再将lib更名为libs,然后再将包重新复制到libs中,此时一般Android Dependencies就会自动出现,问题就解决了。但有的工程不自动出现,那就还需要进行下面一步的修改,见:http://blog.csdn.net/encienqi/article/details/7847858。
经过上面的方法,问题得到彻底解决!本人亲测!

以上是转载的,下面是自己总结的绝症!《----------------------------------------------------------------------------------------------》

网上百度了N久,都是说先移除之前的Libraries,再将lib更名为libs的做法。今天是遇到邪门了,照做还是运行报错。后来发现直接add的jar包还是放在Referenced Libraries里,ADT升级到17后就出现了Android Dependencies,但这是自动生成的。将名字改来改去工程删来删去也还是无济于事,不能把jar包导入Android Dependencies里apk里也不会打包进去。

纠结啊.....后来打开了工程下的.classpath的文件,对比那些正常的工程,终于发现在里面加一句话就可以解决,Refresh一下,顺便clean一下,OK,完成!

按照上面方法如果还是不行,那你可能是没有把项目从eclipse中删除,先删除再导入,你就能看到了!

                                       下面是网友的讨论:

更多相关文章

  1. Android(安卓)混淆 Unknown verification type
  2. android VideoView播放工程raw下的视频+全屏问题
  3. android 编译源码 错误解决2
  4. java.security.NoSuchProviderException: no such provider: BC
  5. Android(安卓)NDK开发:HelloNDK
  6. Android(安卓)初始化NavigationView的headerLayout中的TextView
  7. Caused by: java.lang.IllegalStateException: You need to use
  8. 【学习Android遇到的错误】Unable to resolve target 'android-9
  9. Android(安卓)Studio编译使用了Maven的工程卡住的解决方案

随机推荐

  1. android中intent的作用
  2. Android中shape属性详解
  3. Android电话拨号器
  4. Android事件分发机制完全解析(终极版二)
  5. Android中ExpandableListView的使用
  6. Android(安卓)View坐标getLeft, getRight
  7. Android屏幕密度的深刻理解
  8. com/android/phone/INetworkQueryService
  9. Android中ExpandableListView的使用
  10. android静态图片和动态壁纸