一、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 [ ]*。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中