因为sun.misc.Unsafe在修改库时无法解决错误

时间:2012-09-28 11:02:36

标签: java android guava

我正在为我的项目开发一个android sdk,因为我正在使用google-http-java-client 在sdk。 我想在google-http-java-client中进行一些更改,以便我可以在我的应用中使用它。 例如,我想在com.google.api.client.http.HttpHeaders中添加一些自定义标头。为此,我提取了源代码,但我在com.google.common.primitives.UnsignedBytes中收到错误

  

导入sun.misc.Unsafe无法解析。

那么有没有其他方法可以修改这个库???

2 个答案:

答案 0 :(得分:1)

不确定。 UnsafeComparator使用的Unsafe不在android中的默认类路径 1 上,但也有PureJavaComparator作为后备提供。删除处理Unsafe的整个部分应该足够了,因为在getBestComparator()中它会通过其名称进行查找,如果出现异常,则会使用回退。


1 我以为它在android中不存在,但我相信凯文说它确实存在。无论如何,说它不在默认的类路径上肯定是正确的(无论它存在)。

答案 1 :(得分:0)

您依赖于Google未提供的Oracle / Sun JDK。简短的回答:不要这样做。答案很长:见'Why Developers Should Not Write Programs That Call 'sun' Packages'