亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python批量安裝卸載1000個apk的方法

 更新時間:2020年04月10日 14:02:57   作者:麥葉  
這篇文章主要介紹了Python批量安裝卸載1000個apk的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

都下載完了, 也驗證了下載文件的版本號和MD5后,就要開始批量安裝了,

然后開始嘗試運行打開這個app, 做最基本的功能檢點,最后就要考慮卸載App了。

本篇內容主要介紹如何用Python來批量實現(xiàn)安裝apk,卸載apk。

備注:

一個手機不可能同時安裝1000個apk,需要考慮每50-100個作為一組,進行安裝,驗證后卸載測試。

準備階段

1.adb install -d -r XXX.apk 是安裝apk的具體命令,

-d :downgrade的簡稱,編碼出現(xiàn)提示說系統(tǒng)里已經有該app且其版本比當前安裝的版本更高,即允許低版本的apk安裝
-r : reinstall的簡稱,避免出現(xiàn)提示說這個app已經在系統(tǒng)里了而導致本次安裝失敗,即允許重裝apk
綜上:加了-d, -r就會更保險,確保apk最終能安裝成功。
adb shell pm list package -3 可以列出所有已安裝的第三方的App的包名。
何為第三方的App,即非系統(tǒng)自帶(built-in)的App,后續(xù)自行安裝的App都是屬于第三方App, 比如以下是自行安裝的百度地圖,酷狗音樂,非系統(tǒng)App:

 

2.adb shell pm uninstall + App包名, 可以卸載指定的包名的App。

Python批處理腳本形式

記住批處理腳本的精髓:批量順序執(zhí)行語句,

以下是“安裝apk”腳本形式:

# coding=utf-8
import os
# 讀取downloaded_apk文件夾下的所有App文件,進行批量安裝
curpath = os.getcwd()
apk_dir = os.path.join(curpath, "downloaded_apk")
apk_list = os.listdir(apk_dir)
for apk in apk_list:
 print("正在安裝%s..." % apk)
 apk_path = os.path.join(apk_dir, apk)
 os.system("adb install -d -r %s" % apk_path)
print("所有App已經安裝完畢!...")
os.system("pause")

以下是“卸載apk”腳本形式:

# coding=utf-8
import os
# 讀取第三方App列表并進行卸載
s = os.popen("adb shell pm list package -3").read()
for line in s.splitlines():
 if len(line) > 2:
  appname = line.replace("package:", "")
  print("正在卸載包名為%s的App" % appname)
  os.system("adb shell pm uninstall %s" % appname)
print("所有App已經卸載完畢!...")
os.system("pause")

Python面向過程函數(shù)形式

其實這個案例批處理形式的腳本實現(xiàn)即可,

如果硬要用面向過程函數(shù)形式,也是可以考慮簡單的把代碼塊預計封裝下即可。

以下是“安裝apk”函數(shù)形式:

# coding=utf-8
import os

def install_apk():
 '''讀取downloaded_apk文件夾下的所有App文件,進行批量安裝'''
 curpath = os.getcwd()
 apk_dir = os.path.join(curpath, "downloaded_apk")
 apk_list = os.listdir(apk_dir)
 for apk in apk_list:
  print("正在安裝%s..." % apk)
  apk_path = os.path.join(apk_dir, apk)
  os.system("adb install -d -r %s" % apk_path)
 print("所有App已經安裝完畢!...")

install_apk()
os.system("pause")

以下是“卸載apk”函數(shù)形式:

# coding=utf-8
import os

def uninstall_apk():
 '''讀取第三方App列表并進行卸載'''
 s = os.popen("adb shell pm list package -3").read()
 for line in s.splitlines():
  if len(line) > 2:
   appname = line.replace("package:", "")
   print("正在卸載包名為%s的App" % appname)
   os.system("adb shell pm uninstall %s" % appname)
 print("所有App已經卸載完畢!...")

uninstall_apk()
os.system("pause")

Python面向對象類形式

其實這個案例批處理形式的腳本實現(xiàn)即可,

如果硬要用面向對象類形式,也是可以考慮簡單地用以下類來實現(xiàn)。

本次優(yōu)化,class 類名(object): 后續(xù)盡量加上object, 代表是父類,

類其最基本特征就是:繼承, 默認如果我們不知道當前類的父類是啥,

就直接用object, 代表是一切類的父類, 如果知道其父類啥,這類就要換成具體的父類類名了。

以下是“安裝apk”類形式:

# coding=utf-8
import os
class ApkInstaller(object):
 '''用于安裝apk'''
 def __init__(self):
  pass
 def install_apk(self):
  '''讀取downloaded_apk文件夾下的所有App文件,進行批量安裝'''
  curpath = os.getcwd()
  apk_dir = os.path.join(curpath, "downloaded_apk")
  apk_list = os.listdir(apk_dir)
  for apk in apk_list:
   print("正在安裝%s..." % apk)
   apk_path = os.path.join(apk_dir, apk)
   os.system("adb install -d -r %s" % apk_path)
  print("所有App已經安裝完畢!...")
if __name__ == '__main__':
 a_obj = ApkInstaller()
 a_obj.install_apk()
 os.system("pause")

以下是“卸載apk”類形式:

# coding=utf-8
import os

class ApkUnstaller(object):
  '''用于卸載App'''
  def __init__(self):
    pass
  def uninstall_apk(self):
    '''讀取第三方App列表并進行卸載'''
    s = os.popen("adb shell pm list package -3").read()
    for line in s.splitlines():
      if len(line) > 2:
        appname = line.replace("package:", "")
        print("正在卸載包名為%s的App" % appname)
        os.system("adb shell pm uninstall %s" % appname)
    print("所有App已經卸載完畢!...")

if __name__ == '__main__':
  a_obj = ApkUnstaller()
  a_obj.uninstall_apk()
  os.system("pause")

運行方式

確保Android設備通過USB線與電腦連接了,adb設備有效連接,

以上代碼的3種實現(xiàn)形式都可以直接運行,

比如保存為install_app.py, uninstall_app.py并放在桌面,

建議python install_app.py, python uninstall_app.py運行,當然也可以雙擊運行。

總結

到此這篇關于Python批量安裝卸載1000個apk的文章就介紹到這了,更多相關Python批量安裝卸載apk內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Window10下python3.7 安裝與卸載教程圖解

    Window10下python3.7 安裝與卸載教程圖解

    本文通過圖文并茂的形式給大家介紹了WINDOW10下PYTHON3.7 安裝與卸載,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • Python使用xpath對解析內容進行數(shù)據(jù)提取

    Python使用xpath對解析內容進行數(shù)據(jù)提取

    XPath 使用路徑表達式來選取HTML/ XML 文檔中的節(jié)點或節(jié)點集,節(jié)點是通過沿著路徑 (path) 或者步 (steps) 來選取的,本文將給大家介紹Python使用xpath對解析內容進行數(shù)據(jù)提取的方法,需要的朋友可以參考下
    2024-05-05
  • matplotlib基本圖形繪制操作實例

    matplotlib基本圖形繪制操作實例

    這篇文章主要為大家介紹了matplotlib基本圖形繪制操作實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Python網(wǎng)絡爬蟲實例講解

    Python網(wǎng)絡爬蟲實例講解

    這篇文章主要為大家詳細介紹了Python網(wǎng)絡爬蟲實例,爬蟲的定義、主要框架等基礎概念,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Python2.7環(huán)境Flask框架安裝簡明教程【已測試】

    Python2.7環(huán)境Flask框架安裝簡明教程【已測試】

    這篇文章主要介紹了Python2.7環(huán)境Flask框架安裝方法,結合實例形式詳細分析了Python2.7環(huán)境下安裝Flask框架遇到的問題與相關解決方法、注意事項,并給出了一個基本的測試示例,需要的朋友可以參考下
    2018-07-07
  • 如何利用python進行時間序列分析

    如何利用python進行時間序列分析

    這篇文章主要介紹了如何利用python進行時間序列分析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • keras讀取訓練好的模型參數(shù)并把參數(shù)賦值給其它模型詳解

    keras讀取訓練好的模型參數(shù)并把參數(shù)賦值給其它模型詳解

    這篇文章主要介紹了keras讀取訓練好的模型參數(shù)并把參數(shù)賦值給其它模型詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python常用的各種排序算法原理與實現(xiàn)方法小結

    python常用的各種排序算法原理與實現(xiàn)方法小結

    這篇文章主要介紹了python常用的各種排序算法原理與實現(xiàn)方法,結合實例形式總結分析了冒泡排序、插入排序、選擇排序、快速排序等排序算法的相關原理與實現(xiàn)方法,需要的朋友可以參考下
    2023-04-04
  • 一文了解python 3 字符串格式化 F-string 用法

    一文了解python 3 字符串格式化 F-string 用法

    本文介紹在python 3 編程中,如何進行字符串格式化。介紹了F-string的用法,通過實例代碼給大家介紹的非常詳細,對大家的工作或學習具有一定的參考借鑒價值,需要的朋友參考下吧
    2020-03-03
  • Flask和pyecharts實現(xiàn)動態(tài)數(shù)據(jù)可視化

    Flask和pyecharts實現(xiàn)動態(tài)數(shù)據(jù)可視化

    這篇文章主要介紹了Flask和pyecharts實現(xiàn)動態(tài)數(shù)據(jù)可視化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02

最新評論