使用Python腳本和ADB命令實現(xiàn)卸載App
前言
本文實現(xiàn)一個 Python 腳本,用來批量卸載模擬器或者實體機(jī)上面的 App 以及清除 LogCat 緩存。
開發(fā) Android 的朋友,模擬器或者手機(jī)里面常常有大量調(diào)試的 Demo,對于手機(jī)來說還好,可是對于模擬器,有可能就會造成調(diào)試速度以及啟動速度的下降。而且模擬器中 App 一個一個刪除也是很麻煩。利用 ADB 命令,我們可以做很多事,其中就包括批量操作模擬器或者手機(jī)上的 App。當(dāng)然包括刪除操作啦。利用 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'
效果實現(xiàn)
使用方式
- 確保你的 AS 能夠使用 ADB 命令
- 配置 Python 2.7 環(huán)境(3+ 應(yīng)該也沒有問題)
- 在 AS 提供的 CMD 中找到當(dāng)前腳本路徑 輸入:
python unistall.py
- 根據(jù)命令提示輸入你想要刪除 App 的包的核心關(guān)鍵字,如:
com.example.RxCacheDemo
,輸入 example 即可(每個人 AS 的這個配置應(yīng)該都是一樣的) - 以上步驟完成之后會有提示 刪除成功與否。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
Python輕量級定時任務(wù)調(diào)度APScheduler的使用
Apscheduler是一個基于Quartz的python定時任務(wù)框架,本文主要介紹了Python輕量級定時任務(wù)調(diào)度APScheduler的使用,具有一定的參考價值,感興趣的可以了解一下2024-02-02Python一行代碼實現(xiàn)ChatGPT接入微信機(jī)器人
這篇文章主要為大家介紹了Python一行代碼實現(xiàn)ChatGPT接入微信機(jī)器人示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03python GUI庫圖形界面開發(fā)之PyQt5美化窗體與控件(異形窗體)實例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5美化窗體與控件(異形窗體)實例,需要的朋友可以參考下2020-02-02python excel使用xlutils類庫實現(xiàn)追加寫功能的方法
今天小編就為大家?guī)硪黄猵ython excel使用xlutils類庫實現(xiàn)追加寫功能的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05Python使用正則表達(dá)式獲取網(wǎng)頁中所需要的信息
這篇文章主要介紹了Python使用正則獲取網(wǎng)頁中所需要的信息的相關(guān)資料,需要的朋友可以參考下2018-01-01python編程webpy框架模板之def with學(xué)習(xí)
這篇文章主要為大家介紹了python編程web.py框架模板之def with的學(xué)習(xí)有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11Python3基礎(chǔ)教程之遞歸函數(shù)簡單示例
這篇文章主要給大家介紹了關(guān)于Python3基礎(chǔ)教程之遞歸函數(shù)簡單示例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python3具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06