咱們在調試Android應用程序的時候,有時候遇到一些莫名其妙的問題,所以咱們須要查看Android內部是如何調用的。咱們都知道Android是一個偉大的開源項目,所以debug的時候確定是支持源代碼級別調試的。採用源代碼調試,一方面有利於發現問題,另外一方面有利於咱們對Android系統的整個流程有一個比較清晰的認識,對咱們之後開發app或者修改rom都是大有幫助的。好了廢話不說,下面就介紹一下如何在eclipse中進行源代碼調試吧!
html
顯然要進行源代碼調試,首先必須下載源代碼。你們能夠都google的官方網站http://source.android.com/source/index.html 去下載,由於Android源代碼是用git進行管理的,同時google爲了管理方便,用python寫了一個repo腳本進行項目管理,所以你必須確保你的電腦上安裝了git和python,至於具體如何下載,你們能夠參考android網站上的說明,之後我也會專門介紹如何下載和編譯整個Android源代碼。java
我下載的是Android4.2版本,整個源代碼比較大,具體的目錄結構以下:python
源代碼下載完成後,須要導入到eclipse,這樣查看起來比較方便。在命令行下,cd到development/ide/eclipse這個目錄下,會發現這個目錄下有一個.classpath隱藏文件android
將.classpath文件拷貝到你的Android源代碼的根目錄下c++
打開eclipse,新建一個Java工程,Location選擇你Android的源代碼所在的目錄git
而後eclipse會加載Android的源代碼,這個過程可能有點久,完成後點擊finish,能夠看到整個Android源代碼都導入到eclipse中了,包括c,c++,java等全部的代碼,這樣查看起來就方便多了app
Android源代碼導入eclipse後,接下來就要進行關聯調試了。首先新建一個Android的HelloWorld的工程,先在模擬器上運行一下確保沒有問題,而後右擊HelloWorld工程,選擇Debug As -> Debug Configurations,選擇左側的Remote Java Application,右擊選擇New,能夠本身設置一個端口,如我設置的是9000,而後點擊Applyeclipse
在HelloWord的MainActivity設置一個斷點
ide
而後右擊Debug As -> Android Application,進入Android調試器網站
你能夠隨便點擊右邊的ActivityThread中的一個方法,如performLaunchActivity,可是這個時候你會發現,提示源代碼沒有找到,你按照提示點擊「Edit Source Lookup Path」,這時會彈出一個對話框,點擊「Add」,選擇Java Project,而後找到你以前的建的那個Java 源代碼工程,這樣就看到Android的源代碼了,接下去的調試就和咱們日常的調試同樣了,如F5進入方法,F6 執行下一行等等。
由於我以前在super.onCreate方法上面設置了一個斷點,按F5進入這個方法的內部,查看到Activity.java中的代碼以下:
好了,整個Android源代碼的調試就搭建完成了,這樣就能夠調試本身的代碼,還有分析整個Android運行的流程了,這對於rom開發仍是頗有幫助的。