使用temboo在JsonObject类中使用valueToString方法的nosuchmethoderror

时间:2015-05-18 13:38:45

标签: java android nosuchmethoderror temboo

我正在创建一个Android应用,用户将从不同的社交媒体帐户获取newsfeed/timeline/dashboard。我使用Temboo来实现这一点。

Oauth期间,它给了我一个错误

  

引起:java.lang.NoSuchMethodError:没有静态方法valueToString(Ljava / lang / Object;)Ljava / lang / String;在类Lorg / json / JSONObject中;或其超类('org.json.JSONObject'的声明出现在/system/framework/core-libart.jar中)

我的应用程序一直崩溃。 我尝试了他们的教程应用程序,它给出了同样的错误。 需要帮助:(

P.S。:如果有任何其他方式我可以实现这一点,请分享。我是发展新手。

3 个答案:

答案 0 :(得分:2)

您的类库中是否有org.json.jar? java可能会选择旧版本的org.json.JSONObject,它不会实现您需要的方法。 Temboo SDK捆绑了这些类,但在您的情况下,java可能会在加载Temboo库之前找到该库的其他版本。删除其中包含org.json类的其他jar或确保在Temboo jar之后加载它可以解决问题。也可能是你的另一个jar也嵌入了org.json类。

答案 1 :(得分:0)

我在项目中包含了一个额外的json lib jar文件,这是不需要的,因为它已经由Android Framework提供了......

答案 2 :(得分:0)

似乎android使用的是位于JSONObject中的自己的core-libart.jar,并且未被JSON-java.jar中的版本覆盖

解决方法:将JSONObject.valueToString(obj)更改为new JSONObject(obj).toString()

具有相同的结果,并且在两个版本中均可用。