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