Android 内置了哪个版本的 org.json?
What version of org.json is built into Android?
我正在使用依赖于 org.json:json:20090211
的开源库。显然 API 版本 20090211
与 Android 提供的任何版本之间存在一些差异。当我启用 ProGuard 最小化时,我看到这个警告:
Warning: com.esri.core.geometry.JSONObjectEnumerator: can't find referenced method 'java.lang.String[] getNames(org.json.JSONObject)' in library class org.json.JSONObject
该方法存在于 JSONObject
的当前参考实现中,所以我假设它是在版本 20090211
之前的某个时间添加的,而不是在它之后删除的,这意味着 20090211
中包含的版本=32=]年纪大了。我想将该版本与 20090211
进行比较,看看需要做些什么才能使依赖于 20090211
的库与 Android.
兼容
Android 中包含什么版本的 org.json?
(我知道我可以重命名 org.json
并将依赖项更改为重命名的版本,但我想尽可能避免这种情况。这样的更改不太可能被上游接受。)
我不确定这个答案,但是Android版本可能对应的不是官方版本。此评论出现在 JSONObject
的 AOSP 源代码中:
// Note: this class was written without inspecting the non-free org.json sourcecode.
org.json 许可证与 MIT 许可证相同,但增加了一项:
The Software shall be used for Good, not Evil.
所以也许 Google 认为该条款过于严格,并认为有必要从头开始重新实施 org.json
。
我正在使用依赖于 org.json:json:20090211
的开源库。显然 API 版本 20090211
与 Android 提供的任何版本之间存在一些差异。当我启用 ProGuard 最小化时,我看到这个警告:
Warning: com.esri.core.geometry.JSONObjectEnumerator: can't find referenced method 'java.lang.String[] getNames(org.json.JSONObject)' in library class org.json.JSONObject
该方法存在于 JSONObject
的当前参考实现中,所以我假设它是在版本 20090211
之前的某个时间添加的,而不是在它之后删除的,这意味着 20090211
中包含的版本=32=]年纪大了。我想将该版本与 20090211
进行比较,看看需要做些什么才能使依赖于 20090211
的库与 Android.
Android 中包含什么版本的 org.json?
(我知道我可以重命名 org.json
并将依赖项更改为重命名的版本,但我想尽可能避免这种情况。这样的更改不太可能被上游接受。)
我不确定这个答案,但是Android版本可能对应的不是官方版本。此评论出现在 JSONObject
的 AOSP 源代码中:
// Note: this class was written without inspecting the non-free org.json sourcecode.
org.json 许可证与 MIT 许可证相同,但增加了一项:
The Software shall be used for Good, not Evil.
所以也许 Google 认为该条款过于严格,并认为有必要从头开始重新实施 org.json
。