1. 程式人生 > >[Android]system_server重啟例子

[Android]system_server重啟例子

 

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重啟