android 系统启动过程中加入tcpdump和logcat

一、android 系统启动过程中加入tcpdump ,分析开机启动后,系统与服务器端的消息交互。


1. init.rc 中的修改
1)在init.rc 中加上tcpdump service.


service tcpdump /system/xbin/tcpdump -s 0 -w/data/test/test_1.pcap
    class core
    
2)在init.rc 中启动tcpdump service
start tcpdump




/*
service:service <name> <parthname> [ <argument> ]*。pathname代表启动service时用到的命令。
其实就是要执行tcpdump -s 0 -w/data/test/test_1.pcap 命令


 -w file
-s     Snarf snaplen bytes of data from each packet rather than the default  of
              65535  bytes.Setting snaplen to 0 sets it to the  default  of  65535
*/    


2.制作新的boot.img.   boot.img包含 kernel和randisk
cd android/out/target/product/vender/
mkbootfs root | minigzip > ramdisk.img

mkbootimg --kernel kernel --ramdisk ramdisk.img --output boot.img




二、在系统启动中加入logcat debug
------------------------------------------------------------------------------------------------------------
1.在/system/bin目录下添加执行logcat的脚本
   mount -o remount,rw /system
   echo "logcat -v time > /data/system_boot.log" > /system/bin/logcat.sh




2.在init.rc中添加执行logcat.sh的启动命令
   vi init.rc,把下面的语句放到最后,放在前面会有问题


    service logcat  /system/bin/sh /system/bin/logcat.sh
    class core


    start logcat


3.重新编译boot.img,并升级
cd android/out/target/product/vender/
mkbootfs root | minigzip > ramdisk.img
mkbootimg --kernel kernel --ramdisk ramdisk.img --output boot.img




4.系统启动后,会将所有的log保持在/data/system_boot.log中

你可能感兴趣的:(android 系统启动过程中加入tcpdump和logcat)