使用Python腳本和ADB命令實(shí)現(xiàn)卸載App
前言
本文實(shí)現(xiàn)一個(gè) Python 腳本,用來(lái)批量卸載模擬器或者實(shí)體機(jī)上面的 App 以及清除 LogCat 緩存。
開(kāi)發(fā) Android 的朋友,模擬器或者手機(jī)里面常常有大量調(diào)試的 Demo,對(duì)于手機(jī)來(lái)說(shuō)還好,可是對(duì)于模擬器,有可能就會(huì)造成調(diào)試速度以及啟動(dòng)速度的下降。而且模擬器中 App 一個(gè)一個(gè)刪除也是很麻煩。利用 ADB 命令,我們可以做很多事,其中就包括批量操作模擬器或者手機(jī)上的 App。當(dāng)然包括刪除操作啦。利用 Python 腳本和 ADB shell 命令以及 AS 自帶的 CMD 窗口,我們就可以將這一切濃縮成一個(gè)命令行啦。
核心代碼
# 刪除所有你指定包名的 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'
效果實(shí)現(xiàn)

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

