安卓手機進程清理


一個個在手機 設置\程序管理  一個個 結束進程好麻煩,也不想因為這個再去安裝 app管理軟件,不如寫個腳本 一鍵清理

此 腳本要 手機Root(主要是把文件放入\system\bin 下,並設置為可執行,不root無法使用chomd命令)

Adb 調試工具,網上一大堆,可自行下載

 

說思路

  1. 獲取進程的包名(因為包名比PPID 更能讓人看的懂)
  2. 生成個含有要結束進程的文件
  3. 把所有要結束的進程寫入腳本,放入手機並設置可運行
  4. 手機直接執行腳本

 

 

 

好,動手環節

先用 命令adb shell ps >c:\app.txt 獲取進程及包名,並寫入 C盤的 app.txt 文本內.

 

 

 

 

各字段的含義:

 

USER 進程當前用戶

PID 進程ID

PPID 父進程ID

VSIZE 進程的虛擬內存大小,以KB為單位

RSS 實際占用的內存大小,以KB為單位

WCHAN 進程正在睡眠的內核函數名稱;

PC Program Counter

NAME 進程狀態及名稱

 

可以用命令 adb shell am force-stop 包名 來結束進程 ,如 酷我音樂盒 。就是

adb shell am force-stop cn.kuwo.player

 

 

從 app.txt 分離出包名,這里我用的 是python 的腳本,獲取com.xxx.xxx與cn.xxx.xxx 開頭的包名(國內多數的安卓程序多用這兩個)

 

Python 的代碼如下 arry.py

 1 #coding=utf-8
 2 import os
 3 import math
 4 
 5 prefix ="echo -e am force-stop "
 6 perfixEndFirst =" >/system/bin/d"
 7 perfixEnd =" >>/system/bin/d"
 8 resultArr =[]
 9 resultStr=""
10 
11 f=open('app.txt', 'r')
12 s=f.readlines()
13 #count = len(s)
14 
15 for t in range(1,len(s)):
16     str = s[t-0]
17     if str != None and  "000 S " in str:
18         strSName = str.split("000 S ")    
19         if strSName[1] != None:
20             strName = strSName[1].replace(" S ","")
21             if strName.startswith("com.") or strName.startswith("cn."):
22                 #插入數組
23                 resultArr.insert(0,strName.strip('\n'))
24                 print(strName)
25 
26 
27 #resultStr = resultStr + "echo " + "#!/system/bin/sh" + perfixEndFirst +"\n" 
28 for r in resultArr:
29     resultStr = resultStr + prefix + r+ perfixEnd+"\n" 
30 
31 resultStr = resultStr + 'echo -e "echo Success!" >>/system/bin/d' 
32 with open("d.sh","w") as f:
33     f.write(resultStr)
34 
35 os.system('pause')
View Code

 

 

 

在其目錄下 生成一個 叫”d.sh”的文件,(d就是delete的首字母)

 

我們可以用記事本打開 在d.sh 文件,其結果如 下

 

 

這里,我是用 echo 將字符串寫入手機的 /system/bin/d 文件內,而不是 將文件push到  手機上,不知道為什么產生了亂碼與不能換行(不方便閱讀與維護)

 

可以將 s.sh 全部復制到黏貼板,打開一個adb 的調試窗口並提權到root,然后黏貼

 

 

 

 

然后 設置文件d 為可執行 chmod 777 /system/bin/d

 

 

 

然后,就可以在 普通用戶下,調用該腳本了,

運行結束會的 Success! 提示

 

 

 

 

在手機上用 “終端模擬器”,調用時要su 一下,不提權會出錯,個人現在還沒有弄明白為什么

 

 

 

清除后台,一身輕松。。

 

如果后期加入別的 包名中微博,可以在 寫入

echo -e am force-stop com.sina.weibo >>/system/bin/d  即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM