听说在Window下用Source Insight查看android源码比较方便,前几日换了mac,正巧看了一些Hook的内容,对源码阅读开始感兴趣。然后进入源码后发现很多方法标红,例如Activity中的这个execStartActivity()【这里问发现中AS中查看标红,以为是查看SDK代码不全的原因,😓后来发现不是因为这个,而特地网络下载了android_6.0源码,发现还是标红的】
一通Google或者百度,教的姿势都是去哪哪下来源码文件,然后repo编译神马的,我目前的功力只是想阅读一下源码好嘛!还不跨到编译调试源码那个等级好嘛!
好了,吐槽完了,现在教大家如何不标红,就像这样
在百度了很久之后,才知道不能看的原因是因为这个方法被@hide了,对此的解释是这些方法目前处于开发阶段,Google不希望被开发者看到。
好了,开始科学看源码的时候到了:
在
下载你的Android Studio项目下app下的build.gradle中compileSdkVersion对应的版本sdk
然后找到你电脑中sdk对应的版本,用git下来的对应sdk的android.jar替换对应的android.jar
mac下默认地址user/Library/Android/sdk/platforms
我要替换的是23,所以我进入android-23文件夹下替换对应的android.jar
然后进入AS可以发现@hide的方法可以正确进入了(据说Eclipse需要重启)
PS:我在操作后,进入源码后二货AS竟然提示我找不到对应的API-23,因为已经被我修复所以没办法截图了,解决办法是重新设置下sdk路径(即使原来的是正确的)回来就可以了。
然后就可以开心得阅读源码啦!(目前好像只支持到23,项目中用24或者25的话,就不能在敲代码的时候看源码啦,不过可以另开一个项目专门用来阅读源码用。)
~至此( biu~biu