[Android]system_server重啟例子
阿新 • • 發佈:2018-11-11
system_server出現問題發生的重啟和開機重啟是不一樣的,只是system_server發生了重啟。其他系統程序如init,logd, vold等是沒有變化的。
直觀一點去觀察,可以採用kill -9 <system_server PID>去檢視。
這裡,我們演示一個除錯過程。使用指令碼進行自動點選測試,執行幾千次後由於存在記憶體洩漏,會導致系統重啟。
auto.sh (需要注意的是,指令碼中的換行符必須是linux風格的,不然指令碼執行會有出錯)
i=1
while [ $i -le 10000 ];
do
echo $i
#setting
input tap280 700
#Connecteddevices
input tap 388388
#Bluetooth
input tap633 246
sleep 1
#Bluetooth
input tap633 246
#back
inputkeyevent "KEYCODE_BACK"
inputkeyevent "KEYCODE_BACK"
i=`expr $i+ 1`
done
在“重啟”後,可以發現,手機上自動點選還在繼續執行
檢視指令碼執行的log
5017
5018
5019
5020
5021
Killed
Killed
5022
Killed
Killed
Killed
5023
5024
5025
5026
這就是一個典型的system_server重啟