首頁 >後端開發 >Python教學 >使用Python腳本和ADB指令實作卸載App

使用Python腳本和ADB指令實作卸載App

高洛峰
高洛峰原創
2017-02-13 13:29:102235瀏覽

前言

本文實作一個 Python 腳本,用來批量卸載模擬器或實體機上面的 App 以及清除 LogCat 快取。

開發 Android 的朋友,模擬器或者手機裡面常常有大量調試的 Demo,對於手機來說還好,可是對於模擬器,有可能就會造成調試速度以及啟動速度的下降。而且模擬器中 App 一個一個刪除也是很麻煩。利用 ADB 指令,我們可以做很多事,其中就包含批次操作模擬器或手機上的 App。當然包括刪除操作啦。利用 Python 腳本和 ADB shell 命令以及 AS 自帶的 CMD 視窗,我們就可以將這一切濃縮成一個命令行啦。

核心程式碼

# 删除所有你指定包名的 APP
def delAllapp( ):
 print 'start delete all your app in your Phone or Simulator '
 os.popen('adb wait-for-device');
 corename = raw_input("input your app package corename:")
 oriPackages = os.popen('adb shell pm list packages {name}'.format(name=corename));
 # list all PackageName
 for oriPackage in oriPackages:
  deletePackage = oriPackage.split(':')[1]
  os.popen('adb uninstall ' + deletePackage );
  print deletePackage + "is deleted"
  
# 删除所有你指定包名的特定 APP
def listAllpackage( ):
 i = 0
 os.popen('adb wait-for-device');
 corename = raw_input("input your app package corename:")
 oriPackages = os.popen('adb shell pm list packages {name}'.format(name=corename));
 
 for oriPackage in oriPackages:
  deletePackage = oriPackage.split(':')[1]
  print str(i) + ":" + deletePackage
  deleteList.append(deletePackage)
  i += 1

# 删除指定 App
def deleteApp(number):
 os.popen('adb uninstall ' + deleteList[number] );
 print 'delete '+ deleteList[number] + "success"
 
# 清除 LogCat 缓存 
def clearLogcat( ):
 print 'start clear logcat buffer in your Phone or Simulator'
 os.popen('adb wait-for-device');
 os.popen('adb logcat -c');
 print 'logcat is cleared success'

效果

確保你的AS 能夠使用ADB 指令使用Python腳本和ADB指令實作卸載App

設定Python 2.7 環境(3+ 應該也沒問題)
在AS 提供的CMD 中找到目前腳本路徑輸入:

python unistall.py
  1. python unistall.py
  2. 的核心關鍵字,如:
  3. com.example.RxCacheDemo
  4. ,輸入example 即可(每個人AS 的這個配置應該都是一樣的)

    以上步驟完成之後會有提示刪除成功與否。
  5. 更多使用Python腳本和ADB指令實作卸載App相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn