如何調試跟蹤Android Framework源代碼

    Android平臺代碼很多,關係也很複雜,通常我們調試程序的時候是無法跟蹤到Android framework code裏的,如果能調試跟蹤Android source code將給我們這些初學者帶來很多便利,本文將給出一個調試跟蹤Android source code 的方法。

1. 首先,得到Android 源代碼(可參考之前的文章--如何獲取Android源代碼並編譯.doc),並且編譯,得到output file,在(Android source)/out目錄下,也可通過別的途徑獲取Android source code (以androidsrc.tgz爲例) 和別人編譯好的 output file(out.tgz)

2. 解壓縮這兩個 tgz 文件,並把解壓出來的out 目錄放到 myandroid 目錄下,如下圖所示。



3. 拷貝 myandroiddevelopmentideeclipse.classpath 到 myandroid.classpath.

4. 拷貝 myandroidouttargetproductgeneric*.img 到 {Android SDK}toolslibimages 並且覆蓋源文件.

5. 運行{Android SDK}tools目錄下的 emulator.exe.

6. 運行{Android SDK}tools目錄下的 ddms.bat。你可以看到下面的窗口,裏面會列出當前emulator裏跑的進程:



7. 啓動 eclipse ,按照這個步驟 File->New->Java Project (不是 Android Project!) ->Create project from existing source 選到 myandroid 目錄 .


8. 在經過長時間等待之後,Android source code將被導入project,正常情況下應該沒有error,但是會有很多warning,如果有error後面的debug將不會成功,原因可能是output file ,out.tgz在解壓得過程中出錯,重新copy out.tgz,或者完整拷貝 out/ 目錄到本地目錄下,即可解決。



9. 選擇想要調試的進程在 DDMS, 用 phone 進程爲例,ddms一定要在eclipse之前啓動,否則eclipse啓動的時候也會啓一個ddms,會造成衝突。



10. 在eclipse裏, Run->Debug Configuration->Remote Java Application->New, 設置 Connection port to 8700 (DDMS’s 默認端口,你可以改變它).


11. 設置斷點在source code,然後就可以像往常一樣進行調試了。
點此查看大圖>>
發佈了13 篇原創文章 · 獲贊 2 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章