Android程序 依赖库引用Gson 报java.lang.NoClassDefFoundError: com/google/gson/Gson 解决
Android 程序所依赖一个Library程序gson-2.3.1.jar , gson-2.3.1.jar 程序中用到解析json串,转换成标准json串的要求
protected void parseData(String result) { Gson gson = new Gson(); // Gson能解析json中的数据,必须使用一个类javabean对象来接收这个对象,bean在新建的文件夹domain下面 NewsData data = gson.fromJson(result, NewsData.class); System.out.println("解析结果:"+data);//打印结果依照NewsData的toString的自定义结果为主 }
但在Android程序中却报
java.lang.NoClassDefFoundError: com/google/gson/Gson
实际上不知道为什么 new GsonBuilder()时就是找不到该类了。。。。
后来比较别人的程序发现 只有android-support-v4.jar 这个jar包是不同的。
将library程序的android-support-v4.jar和Android程序的android-support-v4.jar保持一致且
Android程序的java build path library 的 private library体现出依赖程序的 jar包才有效,也可能是 其中一套android-support-v4的版本太低了。。。
情况二:
解决Android使用GSON时报错 java.lang.NoClassDefFoundError: com.google.gson.Gson
在工程中导入了Gson的jar包,能正常通过编译,但执行时报错java.lang.NoClassDefFoundError: com.google.gson.Gson,查找了半天,原来是自己以导入external jar的形式引入gson的,所以编译导出的时候没有一起导出到项目中,所以执行会报找不到类定义的错误。
解决方法很简单:
1、右键项目 ---> properties ----> java buildpath ---> order and export
2、 勾选 gson-x.x.x.jar
3、保存设置,clean 项目并重新编译执行即可。
<p>版权声明:本文为博主原创文章,未经博主允许不得转载。</p>