我的java代码需要访问ViewTreeObserver.java中定义的@hide成员。这个隐藏的成员从非常老的android版本到最后25个版本都是稳定的,所以我不认为它有太大的风险(但我不知道,无论如何我别无选择)。我可以使用反射,但它的缝隙有点复杂。
我想在我的jar中添加一个糟糕的ViewTreeObserver.java,从代码中删除@hide并像这样编译我的应用程序。工作的缝隙,当我调用隐藏的成员时,它不是我执行的dumy java中的代码,而是android的代码,但我不知道它是否是一个好方法,因为它看起来太容易了。
其他想法是使用愚蠢的ViewTreeObserver.java创建一个dumy jar,这样我就可以编译我的jar并可以部署它。
那么访问@hide成员的正确方法是什么(如果他们是一个人)?