前一阵往framework里面加了一些东西,然后需要将添加的api和系统api一样,防止被反射调用,查了一些博客之类的,都说是加个@hide这种注解就完事儿了,后来发现并不是这样。
问了一下同事,也大概查了一点,发现@hide这个东西,只能将对应的api在生成java doc的时候隐藏起来,但是并不能防止其被反射调用。后来又查了一些东西,发现正确的姿势应该是在framework/base/config中的hide-api相关的txt文件中,添加对应的api信息,看起来像是方法签名一类的东西,和smali有点像,不光有方法,还有一些是成员变量,加上去以后,就能成功防止其被反射调用了。
嗨呀又水了一篇,最近好像事情还挺多的,没什么时间学东西。