聽說在Window下用Source Insight查看android源碼比較方便,前幾日換了mac晓殊,正巧看了一些Hook的內(nèi)容断凶,對源碼閱讀開始感興趣。然后進入源碼后發(fā)現(xiàn)很多方法標紅巫俺,例如Activity中的這個execStartActivity()【這里問發(fā)現(xiàn)中AS中查看標紅认烁,以為是查看SDK代碼不全的原因,??后來發(fā)現(xiàn)不是因為這個介汹,而特地網(wǎng)絡下載了android_6.0源碼却嗡,發(fā)現(xiàn)還是標紅的】
一通Google或者百度嘹承,教的姿勢都是去哪哪下來源碼文件稽穆,然后repo編譯神馬的,我目前的功力只是想閱讀一下源碼好嘛赶撰!還不跨到編譯調(diào)試源碼那個等級好嘛舌镶!
好了,吐槽完了豪娜,現(xiàn)在教大家如何不標紅餐胀,就像這樣
在百度了很久之后,才知道不能看的原因是因為這個方法被@hide了瘤载,對此的解釋是這些方法目前處于開發(fā)階段否灾,Google不希望被開發(fā)者看到。
好了鸣奔,開始科學看源碼的時候到了:
在
下載你的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可以發(fā)現(xiàn)@hide的方法可以正確進入了(據(jù)說Eclipse需要重啟)
PS:我在操作后挎狸,進入源碼后二貨AS竟然提示我找不到對應的API-23扣汪,因為已經(jīng)被我修復所以沒辦法截圖了,解決辦法是重新設置下sdk路徑(即使原來的是正確的)回來就可以了锨匆。
然后就可以開心得閱讀源碼啦U副稹(目前好像只支持到23,項目中用24或者25的話,就不能在敲代碼的時候看源碼啦茅主,不過可以另開一個項目專門用來閱讀源碼用舞痰。)
~至此( biu~biu