Android平臺代碼很多,關(guān)系也很復雜,通常我們調試程序的時(shí)候是無(wú)法跟蹤到Android framework code里的,如果能調試跟蹤Android source code將給我們這些初學(xué)者帶來(lái)很多便利,本文將給出一個(gè)調試跟蹤Android source code 的方法。
1. 首先,得到Android 源代碼(可參考之前的文章--如何獲取Android源代碼并編譯.doc),并且編譯,得到output file,在(Android source)/out目錄下,也可通過(guò)別的途徑獲取Android source code (以androidsrc.tgz為例) 和別人編譯好的 output file(out.tgz)
2. 解壓縮這兩個(gè) tgz 文件,并把解壓出來(lái)的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。你可以看到下面的窗口,里面會(huì )列出當前emulator里跑的進(jìn)程:
7. 啟動(dòng) eclipse ,按照這個(gè)步驟 File->New->Java Project (不是 Android Project!) ->Create project from existing source 選到 myandroid 目錄 .
8. 在經(jīng)過(guò)長(cháng)時(shí)間等待之后,Android source code將被導入project,正常情況下應該沒(méi)有error,但是會(huì )有很多warning,如果有error后面的debug將不會(huì )成功,原因可能是output file ,out.tgz在解壓得過(guò)程中出錯,重新copy out.tgz,或者完整拷貝 out/ 目錄到本地目錄下,即可解決。
9. 選擇想要調試的進(jìn)程在 DDMS, 用 phone 進(jìn)程為例,ddms一定要在eclipse之前啟動(dòng),否則eclipse啟動(dòng)的時(shí)候也會(huì )啟一個(gè)ddms,會(huì )造成沖突。
10. 在eclipse里, Run->Debug Configuration->Remote Java Application->New, 設置 Connection port to 8700 (DDMS’s 默認端口,你可以改變它).
11. 設置斷點(diǎn)在source code,然后就可以像往常一樣進(jìn)行調試了。
點(diǎn)此查看大圖>>
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。