我的应用程序很大程度上依赖于JSON库org.json.*
。这个软件包内置在Android标准库中,我不知道,因为我还将它包含在我的源代码树中。
我需要使用内置包不支持的函数(JSONArray.remove
),而它位于org.json
的源代码分发jar中(我包含在我的项目中)。所以会发生什么,一切都在编译和发展。所有,但我在运行时得到 java.lang.NoSuchMethodError:org.json.JSONArray.remove 。
我的问题是,如何告诉eclipse或Android使用源代码树中的org.json。*而不是内置版本?
还有一个子问题:这根本不是一个好主意吗?可能内置的JSON包具有本机级别的改进或类似的官方源代码分发吗?
答案 0 :(得分:1)
我的问题是,如何告诉eclipse或Android使用源代码树中的org.json。*而不是内置版本?
你做不到。您无法控制运行时类路径,固件始终会获胜。
欢迎您使用use jarjar
或类似工具将org.json
类的副本移至新的包中。或者,找到一个更好的JSON库 - 那里有很多它们。