Android Studio 查看源码的正确途径

        最近在研究项目中对Activity的启动销毁问题时遇到了瓶颈,所以"再"次准备研读下源码,希望从中找一些灵感,但打开Activity源码就会发现,源码中有很多标红,导致很多方法无法调转过去,所以就严重阻塞了对于源码的理解~~

#处理前:

如下图Activity源码中的execStartActivity具体方法就无法查看:


网上一些blog说到了invalidate and restart AS,但用了其实是不见效的

其实真正的原因是该方法被@hide了,可能Google的开发人员暂时并不希望使用者被看到吧,所以直接@hide该方法了。所以AS上下载的Android源码其实是不包含@hide的方法的。所以我们的思路就是找到包含@hide方法的源码,并把之前的源码替换掉,就可以愉快的查看源码了。

是这样的嘛,let's do it!

我们以API-23为例:即项目中build.gradle中compileSdkVersion 23

https://github.com/anggrayudi/android-hidden-api 中找到23的android.jar包(大小为25.1M),下载下来


然后将你SDK中的platforms/android-23/android.jar(大小只有23.6M < 25.1M,可能缺少的就是@hide的API方法)包替换成刚下载的


#处理后:

替换之后重启AS,发现源码已经能正常查看,之前的标红都不见了


点进去execStartActivity方法,可以看到该方法确实是官方@hide的方法:


这样这个问题就解决了,我们也可以开开心心的看源码了。





发布了95 篇原创文章 · 获赞 195 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/u012440207/article/details/80238879