ubuntu 9.04下查看android源碼

一.目的:

    我現在的目的:學會根蹤源碼的某個模塊的運行軌跡。如查看源碼中電話本Contacts的執行方式,查看Browser的工作方式(各類中各方法功能實現)

 

二.有效的方法:

   大多數教程都介紹採用debug方式來根蹤;這樣其實有很多不方便的地方,比如咱們不知道哪個類的功能,不好確定你的當前操作的準確地點。

   所以,我採取android最神奇的發明:Log語句,它的神奇在於--在真機上運行時Log出來的打印數據也可以在控制檯上顯示。

      

這面的Log語句是我習慣的寫法:

  1.//wu0wu是我在源碼上加的我本人修改的標記(和源碼的代碼區分)

  2.我在Log的打印數據中先加我的標記:***wu:***"這樣在logcat信息裏一目瞭然。

  3.在根着getClass().getName()這樣就可以打印出當前方法調用所在的類名。一下子就可以定位類的位置。

  4."-->clearFormData()"是我在某個類裏的所有方法裏都加入了上面的那句Log語句,所以這裏是當前方法名。一下子定位當前的方法調用位置。

 

三.編譯模塊

 

  1.我們在源碼的com.android.contacts包下的所有類的所有方法都加這句Log語句。

  2.在ubuntn的終端命令窗口中進入源碼文件夾,執行. build/envsetup.sh (.後面有空格)


  3.使用mmm來編譯指定目錄的模塊,如Contacts:

    mmm packages/apps/Contacts

 

  4.編譯完後生成兩個文件:

     out/target/product/generic/data/app/ContactsTests.apk
    out/target/product/generic/system/app/ Contacts.apk

  5. 使用make snod重新生成system.img


  6. 運行模擬器emulator

  7.在 emulator中操作Contacts(你想查看的模塊,這樣你在adb logcat中就能一眼看到你所加的Log標記了)

四.在Logcat中查看顯示結果

  adb logcat

 


 

 

發佈了63 篇原創文章 · 獲贊 15 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章