即使在Android中使用注释@hide后,API也不会被隐藏

时间:2013-01-29 10:34:36

标签: android hide javadoc

我在android上编写自己的SDK,因此创建了我自己的jar。 现在我使用droiddoc工具创建SDK的文档。

在我的框架文件(.java)中,我用@hide标记了许多API 现在这是当前状态:

a)所有标有@hide的API都隐藏在文档中。

b)这些标记为隐藏的API在生成的jar文件的类文件中包含了。(我使用Java反编译器来检查)。

现在当我在eclipse中包含这个jar并在我的类对象上使用Ctrl +空格来查找它的选项时,我可以看到隐藏的API实际上是可见的并且可以在这里访问。

我在这里遗漏了什么,我是否需要在make文件中添加任何特殊标志?或者这是正常行为吗?

1 个答案:

答案 0 :(得分:2)

我发现了:

  

android.jar已删除com.android.internal中的所有类,以及所有类   标有@hide的类,枚举,字段和方法也被删除

所以带有@hide的类不包含在jar中 - >这就是为什么它们在日食中无法访问的原因。 此外:

  

在设备上启动应用程序时,它会加载framework.jar   (大概这相当于设备上的android.jar)   未切割并具有所有内部API类和所有隐藏的API   组件。

查看this postthis answer
希望您找到隐藏事物的替代解决方案