我正在创建一个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。:如果有任何其他方式我可以实现这一点,请分享。我是发展新手。
答案 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()
具有相同的结果,并且在两个版本中均可用。