您的位置:首页 > 移动开发 > Android开发

Android程序 依赖库引用Gson 报java.lang.NoClassDefFoundError: com/google/gson/Gson 解决方法

2016-04-21 00:10 519 查看
Android 程序所依赖一个Library程序B , B 程序中用到格式化json串,转换成标准json串的要求

public static String jsonFormatter(String uglyJSONString) {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(uglyJSONString);
String prettyJsonString = gson.toJson(je);
return prettyJsonString;
}


  

但在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-support-v4.jar 连接地址:http://www.kuaipan.cn/file/id_172808498780835867.htm?source=1



好用的android-support-v4.jar 连接址:

免费下载地址在 http://linux.linuxidc.com/

用户名与密码都是www.linuxidc.com

具体下载目录在 /2014年资料/8月/2/Android程序 依赖库引用Gson 报java.lang.NoClassDefFoundError

下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------另一篇------------------------------------------

解决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 项目并重新编译执行即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: