Android内置了什么版本的org.json?

时间:2016-09-19 03:29:14

标签: android org.json

我正在使用依赖于org.json:json:20090211的开源库。显然,版本20090211与Android提供的任何版本之间存在一些API差异。当我启用ProGuard最小化时,我看到了这个警告:

  

警告:com.esri.core.geometry.JSONObjectEnumerator:在库类org.json.JSONObject中找不到引用的方法'java.lang.String [] getNames(org.json.JSONObject)'

该方法存在于JSONObject的当前参考实现中,因此我假设它在版本20090211之前的某个时间添加,而不是在它之后删除,这意味着Android中包含的版本较旧。我想针对20090211区分该版本,并了解需要采取哪些措施才能使依赖于20090211的库与Android兼容。

Android中包含哪个版本的org.json?

(我知道我可以重命名org.json并将依赖项更改为重命名的版本,但如果可能的话我想避免这种情况。这种更改不太可能被上游接受。)

1 个答案:

答案 0 :(得分:10)

我不确定这个答案,但Android版可能对应没有正式版。此评论显示在JSONObject的AOSP来源中:

// Note: this class was written without inspecting the non-free org.json sourcecode.

org.json许可证与MIT许可证相同,只增加一个:

  

本软件应用于善,而不是邪恶。

因此,Google可能认为该条款过于严格,并认为需要从头开始重新实现org.json