ubuntu 9.04下查看android源码

本文介绍了一种通过在Android应用源码中加入Log语句来跟踪特定模块运行轨迹的方法,这种方法相较于传统的debug方式更为便捷高效。文章详细描述了如何在Contacts模块中实施此方案,并提供了从编译到部署的完整步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.目的:

    我现在的目的:学会根踪源码的某个模块的运行轨迹。如查看源码中电话本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

 


 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值