前言
本文實作一個 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 2.7 環境(3+ 應該也沒問題)
在AS 提供的CMD 中找到目前腳本路徑輸入:
更多使用Python腳本和ADB指令實作卸載App相關文章請關注PHP中文網!