nosuchmethoderror of method valueToString in JsonObject class using temboo

nosuchmethoderror of method valueToString in JsonObject class using temboo

我正在制作一个 android 应用程序,用户将从不同的社交媒体帐户获得 newsfeed/timeline/dashboard。我用 Temboo 来实现这个。

Oauth 期间它给了我一个错误

Caused by: java.lang.NoSuchMethodError: No static method valueToString(Ljava/lang/Object;)Ljava/lang/String; in class Lorg/json/JSONObject; or its super classes (declaration of 'org.json.JSONObject' appears in /system/framework/core-libart.jar)

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

P.S.: 如果有任何其他方法可以实现,请分享。我是开发新手。

你的 class 图书馆里有 org.json.jar 吗?有可能 java 使用的是 org.json.JSONObject 的旧版本,它没有实现您需要的方法。 Temboo SDK 捆绑了那些 classes,但在您的情况下 java 可能会在加载 Temboo 库之前找到该库的其他版本。删除其中包含 org.json classes 的其他 jar 或确保在 Temboo jar 之后加载它可能会解决问题。也可能是您的另一个 jar 也嵌入了 org.json class。

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

似乎 android 使用它自己的 JSONObject 位于 core-libart.jar 并且没有被 JSON-java.jar

中的版本覆盖

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

结果相同,两个版本都可用。