Android程序中執行adb命令

查看程序的調度狀態為"bg"的進程信息

PC終端執行如下命令

$adb shell ps|grep bg

程序中如何執行adb命令?

Runtime.getRuntime().exec("ps")
讀取命令執行后返回的數據

BufferedReader reader = null;
String content = "";
try {
    //("ps -P|grep bg")執行失敗,PC端adb shell ps -P|grep bg執行成功
    //Process process = Runtime.getRuntime().exec("ps -P|grep tv");
    //-P 顯示程序調度狀態,通常是bg或fg,獲取失敗返回un和er
    // Process process = Runtime.getRuntime().exec("ps -P");
    //打印進程信息,不過濾任何條件
    Process process = Runtime.getRuntime().exec("ps");
    reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    StringBuffer output = new StringBuffer();
    int read;
    char[] buffer = new char[4096];
    while ((read = reader.read(buffer)) > 0) {
        output.append(buffer, 0, read);
    }
    reader.close();
    content = output.toString();
} catch (IOException e) {
    e.printStackTrace();
}

Android進程的五個級別,對應五個調度狀態

1.foreground process
2.visible process
3.Service process
4.background process
5.empty process
打印的結果:讀取到部分進程信息,包含系統應用及用戶安裝的應用,不能讀取全部的進程信息

ps命令讀取到的進程信息

各字段的含義:
進程信息各字段含義

android adb 查看進程信息

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容