編輯:關於Android編程
前言:最近在研究MediaCodec,u盤壞了,之前下載的源碼也就自然沒有了,真是個難過的事情,不能因為沒有源碼了,就阻擋我的計劃了呀,於是就是今天一文,在線看Android源碼,加之此前很多人也有向我留言,如何看android系統的源碼,今天來敲黑板,劃重點了。
不管是做Android底層開發,還是做應用層開發,在Android這條路上走下去,必須對於Android源碼夠了解,如某一個功能,某一個機制,或者某一個API,它到底是如何實現的,需要 Read the fucking source code,才能知其然,知其所以然。下面幾種在線看源碼的方式:
1,http://androidxref.com
2,http://www.grepcode.com/
3,Android SDK Search插件
來說說這三種方式的體驗,http://androidxref.com,這個同步官方源碼,最新的7.0,上面也已經有了,我也比較喜歡這個,該有的功能應用盡有,第2個的話,如圖,還停留在5.1階段,也找不到我想要的,於是果斷放棄了。Android SDK Search也還行。下面重點介紹Android SDK Search 插件和androidxref。
http://www.grepcode.com/
IOSvwMDG98/Co6y/ydLUsLLXsCBBbmRyb2lkIFNESyBTZWFyY2ggwKnVubPM0PLAtLTvtb3V4rj2xL+1xKOsuMPAqdW5s8zQ8tTaIENocm9tZc34yc/TptPDteq92M28yOfPwsv5yr6ho7Cy17DN6rjDwKnVubPM0PK686Os1Nm0zsvRy/cgQW5kcm9pZCBBUEkguvOjrLvh1NrP4NOmtcTL0cv3veG5+7rz1Pa809K7uPYgdmlldyBzb3VyY2XBtL3ToaPA/cjny9HL9yBBY3Rpdml0eSDA4KOsveG5+8jnzbwgNCDL+cq+oaO147v3IHZpZXcgc291cmNlwbS906Osvs2/ydLUtPK/qiBBY3Rpdml0ecDgtcTUtLT6wuujrMjnzbzL+cq+o6y008340rPW0L/J0tS/tLP2xuTKtcrHwbS907W9wcsgR29vZ2xlILXEIEFuZHJvaWQg1LTC67XEIEdpdDwvcD4NCjxwPjxpbWcgYWx0PQ=="這裡寫圖片描述" src="/uploadfile/Collfiles/20161205/20161205093122105.png" title="\" />
AndroidXRef
AndroidXRef(http://androidxref.com/)項目提供 Android 源碼的交叉索引,可以快速的搜索符合特定條件的 Android 源代碼,後台是基於 OpenGrok 引擎,OpenGrok是一個快速,便於使用的源碼搜索引擎與對照引擎,它能夠幫助我們快速的搜索、定位、對照代碼樹。AndroidXRef 提供了完整的 Android kernel源碼的索引。在 AndroidXRef 主頁的右側顯示了可用的源碼版本,如圖所示,
點擊相應的源碼版本鏈接
就可以進入對應的源碼分支,如圖所示,我進入6.0的最新分支:
本文來自逆流的魚yuiop,原文鏈接:http://blog.csdn.net/hejjunlin/article/details/53454514
上圖右側提供在特定目錄下搜索,例如在分析 Framework源碼時,可以選擇 frameworks 目錄,這樣可以減少搜索范圍,縮短搜索時間,能夠更加精確地定位到需要的源代碼。左側是提供了一些搜索的條件,其意義如下(在指定的 Project(s)下):
Full Search: 進行全文搜索,會匹配所有的單詞、字符串、標識符以及數字等,例如在frameworks 下通過 Full Search 搜索”mediacodec“點擊”search“,會顯示所有包含mediacodec字符(忽略大小寫)的結果,即使是注釋也會顯示出來,如下圖,點擊對應的鏈接會打開包含mediacodec所在的文件夾
點擊左側文件名如 TrackDecoder.java鏈接會打開包含mediacodc字符串文件;
其他依次類推,點擊右側每一行的搜索結果鏈接同樣會打開相相應的文件內容;
Definition:搜索符號定義相關的代碼,例如搜索 ondraw 函數的定義,顯示結果如圖提示你是否要找onDraw,onChildDraw等方法,我們點擊onDraw,立刻跳轉到如下頁面:
從搜索結果可以看到,所有onDraw方法的類都會列出來,到第6頁,找到我們熟悉的TextureView,點擊進去
Symbol:搜索符號,例如可以搜索類中的成員變量等,下圖顯示了通過 Symbol 搜索FEATURE_NO_TITLE的結果
平時我們在this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉標題欄,這個FEATURE_NO_TITLE就是在Window.java中的,
本文來自逆流的魚yuiop,原文鏈接:http://blog.csdn.net/hejjunlin/article/details/53454514
這剛好就是我相要的,比起在IDE中一個一個看,這裡這個功能不得不說6的飛起。
History:這個幾乎沒有用,用處肯定也不大,我嘗試過各種搜索。上面只是單一的搜索,如果是多個條件呢?這裡依然滿足,
如搜索mediacodec.cpp中的start函數,如圖所示:
由於AndroidXRef 使用的是 OpenGrok 引擎,因此還支持一些其他的搜索方式:在【jsp">http://androidxref.com/6.0.0_r5/help.jsp】,寫的相當詳細,感興趣的同學可以看看。
想必大家都在android中或多或少的使用過XUtils框架了吧,今天我們通過他來實現一個照片上傳的Demo,希望能夠對大家有幫助,下一篇再從源碼角度來分析下XUtils
通過上一節的分析,我們發現InputDispatcherThread使用InputChannel的sendMessage方法發送了一條消息,但是我們不知道誰在接收這條消息
微信可以說是我們當下非常常用的手機軟件,很多人都會選擇它來進行交流。有的時候,我們在使用微信的過程中也會發現很多問題,今天,小編就來講講微信發不出信息怎麼辦
百度專車是百度地圖最新推出的一項提供高品質用車的服務。百度憑借百度地圖龐大的用戶群體,開展這項專車服務,提供從經濟型到奢華型共5大類20余種車型供用戶選擇,