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://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 項目並重新編譯執行即可。
Ubuntu 14.04 x64配置Android 4.4 kitkat編譯環境的方法 http://www.linuxidc.com/Linux/2014-05/101148.htm
Ubuntu 12.04搭建Android開發環境 http://www.linuxidc.com/Linux/2012-09/69961.htm
Ubuntu 14.04 配置 Android SDK 開發環境 http://www.linuxidc.com/Linux/2014-05/101039.htm
64位Ubuntu 11.10下Android開發環境的搭建(JDK+Eclipse+ADT+Android SDK詳細) http://www.linuxidc.com/Linux/2013-06/85303.htm
Ubuntu 12.10 x64 安裝 Android SDK http://www.linuxidc.com/Linux/2013-03/82005.htm
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11