【发布时间】:2015-01-08 01:15:26
【问题描述】:
我正在使用 libgdx 在 java 中创建一个跨平台应用程序。我在核心项目中使用 Json 并尝试在 Android 上部署时收到此错误:
E/AndroidRuntime(2030): java.lang.NoSuchMethodError: org.json.JSONObject.getNames
我翻阅了一下,发现 Android 有一个内置的 Json 库,它使用与我添加到我的核心项目中的 Json 库相同的包名称。我使用的库有 getName() 方法,Android 库有一个 name() 方法。有没有办法让我指定我想使用的库?或者,有没有办法让我忽略 Android 库?
更新:我在我的 android 项目中使用
测试了访问 JSON 方法JSONObject.getNames(TEST);
这应该给我null,而是给了我同样的错误。
【问题讨论】:
-
您可以控制它,只需检查您在 .java 文件中导入了哪些库,如果是您使用的库,则可以,但如果是本机库,我想这就是原因,您应该删除它。
-
我想我要说的是它们都有相同的包名称,所以我认为线路在某处交叉,并且应用程序错误地使用了 androids 库而不是我添加的库。他们都使用 org.json.*
-
我知道,但只要你只导入你需要的,就没有问题,如果你这样做了,请确保问题是由其他原因引起的。
-
我不确定还有什么问题。该应用程序在桌面上运行良好。