寫在前面
在座的各位大佬一般都是怎么查看源碼的呢?應(yīng)該是說怎么分析源碼的呢拗馒?
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里面的源碼刺彩,也是很方便的迷郑。這個方法有個超誘惑的點,就是可以直接斷點調(diào)試创倔。
4嗡害、上面說android.jar
是閹割過的,所以如果搞個完整的android.jar
替換掉不就可以了么畦攘,完整android.jar傳送門:https://github.com/anggrayudi/android-hidden-api霸妹,選擇你要的版本下載,然后替換掉本地SDK中對應(yīng)的版本的android.jar文件即可知押。親測看源碼可行叹螟,但是正常的項目編譯不了了,台盯,罢绽,
5、新建JAVA項目静盅,把source里的源碼復(fù)制到項目里面良价,用IDEA打開。這么多方法中蒿叠,我覺得這個是響應(yīng)最快的明垢,不用雙擊shift搜索file了,也沒有那么多紅線了市咽,基本上就是一個完整的項目痊银。痛點就是不能調(diào)試,只能查看施绎、分析溯革。此文就是介紹這個方法泌射,估計全網(wǎng)只有我醬紫看源碼吧。
下載IDEA
官網(wǎng)鏈接:http://www.jetbrains.com/idea/
官網(wǎng)有點慢鬓照,自己汁生熔酷。
點擊DOWNLOAD后可以選在下載試用版或者社區(qū)版,社區(qū)版是免費的豺裆。
新建JAVA項目
打開新建項目對話框拒秘,如下:
插一句,AndroidStudio也支持Kotlin DSL build script
了臭猜,就是用kotlin寫build.gradle躺酒,不用groovy了,我試了一下蔑歌,爽到爆羹应,各種語法都看的懂了,也可以直接點擊到源碼次屠。但是支持還不夠完美园匹,有些功能還沒有。以后會是個趨勢吧劫灶。
下一步裸违,寫好
GroupId
和ArtifactId
,你只是看下源碼而已本昏,所以隨便填供汛。再下一步,項目名涌穆,路徑等等怔昨,隨便填。
然后就建好項目了宿稀,可以直接運行main方法了趁舀。
把源碼復(fù)制到項目中
這里說的源碼是SDK中下載的源碼,我看的是API28的原叮,路徑為D:\android-sdk\sources\android-28
中赫编,把里面的代碼全部復(fù)制到剛才創(chuàng)建的項目中即可,我項目名為Api28
奋隶,路徑為:Api28\src\main\java
。
效果
如下圖悦荒,各個方法隨便跳唯欣。
寫在最后
一個好的工具,和一個好的方法搬味,真的會事半功倍境氢。這大概就是磨刀不誤砍柴工蟀拷,砍柴一世一只弓。