用IDEA查看SDK中的源码
写在前面
在座的各位大佬一般都是怎么查看源码的呢?应该是说怎么分析源码的呢?
1、直接查看在线源码,如果是只看某一个文件的话,可以的,方便快捷,打开浏览器就可以看。推荐几个在线链接吧。
http://aospxref.com
http://androidxref.com
https://www.androidos.net.cn/sourcecode
2、下载源码,用SourceInsight
等工具,我觉得很麻烦,不知道各位大佬怎么看。也推荐个下载源码的博客。
https://blog.csdn.net/qiantujava/article/details/102847414
3、直接在AndroidStudio
查看。新建一个Android项目,都会引用到android.jar
这个包的,然后AS自动反编译,可以用最熟悉的工具跳来跳去看,爽歪歪。但是这个包是阉割过的,只有非常少量的源码。但是如果你SDK有下载到sources,双击shift键搜索file,可以直接打开sources里面的源码,也是很方便的。这个方法有个超诱惑的点,就是可以直接断点调试。
4、上面说android.jar
是阉割过的,所以如果搞个完整的android.jar
替换掉不就可以了么,完整android.jar传送门:https://github.com/anggrayudi/android-hidden-api,选择你要的版本下载,然后替换掉本地SDK中对应的版本的android.jar文件即可。亲测看源码可行,但是正常的项目编译不了了,,,
5、新建JAVA项目,把source里的源码复制到项目里面,用IDEA打开。这么多方法中,我觉得这个是响应最快的,不用双击shift搜索file了,也没有那么多红线了,基本上就是一个完整的项目。痛点就是不能调试,只能查看、分析。此文就是介绍这个方法,估计全网只有我酱紫看源码吧。
下载IDEA
官网链接:http://www.jetbrains.com/idea/
官网有点慢,自己汁生。
点击DOWNLOAD后可以选在下载试用版或者社区版,社区版是免费的。
新建JAVA项目
打开新建项目对话框,如下:
插一句,AndroidStudio也支持Kotlin DSL build script
了,就是用kotlin写build.gradle,不用groovy了,我试了一下,爽到爆,各种语法都看的懂了,也可以直接点击到源码。但是支持还不够完美,有些功能还没有。以后会是个趋势吧。
下一步,写好
GroupId
和ArtifactId
,你只是看下源码而已,所以随便填。再下一步,项目名,路径等等,随便填。
然后就建好项目了,可以直接运行main方法了。
把源码复制到项目中
这里说的源码是SDK中下载的源码,我看的是API28的,路径为D:\android-sdk\sources\android-28
中,把里面的代码全部复制到刚才创建的项目中即可,我项目名为Api28
,路径为:Api28\src\main\java
。
效果
如下图,各个方法随便跳。
image
写在最后
一个好的工具,和一个好的方法,真的会事半功倍。这大概就是磨刀不误砍柴工,砍柴一世一只弓。