最近在开发一款公司内部使用的SDK,有些public接口资源方法需要留出來给外面的宿主App调用,但有些不想外泄给host调用,我们知道Java有4个包限定关键字,这时你第一想到的是使用protected,但是如果方法修饰关键字用protected的话,我们都知道,即使在自己包内部也不能跨包调用protected限定的方法,这时想到了有时候遇到调用android源码的public方法,idea会报红而无法通过编译。查了下原来Google在Android P 中对某些public方法做了限定,只供android源码包内部调用,原理如下:
http://gityuan.com/2019/01/26/hidden_api/
于是借此,我便查资料也想通过通过注解的方式实现我做封装SDK的需求。资料比较少,最后通过合理的关键字 ‘Java lintcheck 限制public 方法调用’ Google搜索,找到了如下github资源,解决了我的需求,并又为自己学到了一招而感到开心,同时感谢github博主。因此记录防止自己遗忘知识点,同时也能与各 ’爪哇友‘共同学习,特写了点总结,话不多说,资源如下:
https://github.com/xyz234wish/LintChecks
https://www.jianshu.com/p/ae906ed4b7db
拓展:Lombok
-----------------------------End-----------------------------