最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

備注:

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

準備階段

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

-d :downgrade的簡稱,編碼出現(xiàn)提示說系統(tǒng)里已經(jīng)有該app且其版本比當前安裝的版本更高,即允許低版本的apk安裝
-r : reinstall的簡稱,避免出現(xiàn)提示說這個app已經(jīng)在系統(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已經(jīng)安裝完畢!...")
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已經(jīng)卸載完畢!...")
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已經(jīng)安裝完畢!...")

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已經(jīng)卸載完畢!...")

uninstall_apk()
os.system("pause")

Python面向?qū)ο箢愋问?/strong>

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

如果硬要用面向?qū)ο箢愋问?,也是可以考慮簡單地用以下類來實現(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已經(jīng)安裝完畢!...")
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已經(jīng)卸載完畢!...")

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

運行方式

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

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

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

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

總結(jié)

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

相關(guān)文章

  • Python解決拋小球問題 求小球下落經(jīng)歷的距離之和示例

    Python解決拋小球問題 求小球下落經(jīng)歷的距離之和示例

    這篇文章主要介紹了Python解決拋小球問題 求小球下落經(jīng)歷的距離之和,涉及Python基于遞歸的數(shù)值計算相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • 利用Opencv實現(xiàn)圖片的油畫特效實例

    利用Opencv實現(xiàn)圖片的油畫特效實例

    這篇文章主要給大家介紹了關(guān)于利用Opencv實現(xiàn)圖片的油畫特效的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 詳解python中靜態(tài)方法staticmethod用法

    詳解python中靜態(tài)方法staticmethod用法

    本文主要介紹了python中靜態(tài)方法staticmethod用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • python中shapefile庫讀取shapefile文件信息

    python中shapefile庫讀取shapefile文件信息

    本文主要介紹了python中shapefile庫讀取shapefile文件信息,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • 如何通過python畫loss曲線的方法

    如何通過python畫loss曲線的方法

    這篇文章主要介紹了如何通過python畫loss曲線的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-06-06
  • python如何給內(nèi)存和cpu使用量設(shè)置限制

    python如何給內(nèi)存和cpu使用量設(shè)置限制

    這篇文章主要介紹了python如何給內(nèi)存和cpu使用量設(shè)置限制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python xlwings插入Excel圖片的實現(xiàn)方法

    Python xlwings插入Excel圖片的實現(xiàn)方法

    這篇文章主要介紹了Python xlwings插入Excel圖片的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • python與字符編碼問題

    python與字符編碼問題

    這篇文章主要介紹了python與字符編碼問題,下面對編碼問題做個簡單的總結(jié),感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程

    CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程

    Centos是目前最為流行的Linux服務(wù)器系統(tǒng),其默認的Python 2.x,這篇文章主要給大家分享了關(guān)于在CentOS 7下Python 2.7升級至Python3.6.1的實戰(zhàn)教程,文中將升級的步驟一步步的介紹的非常詳細,對大家的理解和學習具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • Django添加sitemap的方法示例

    Django添加sitemap的方法示例

    這篇文章主要介紹了Django添加sitemap的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08

最新評論

许昌市| 扎赉特旗| 乃东县| 昭通市| 辽阳县| 张家口市| 越西县| 集安市| 富锦市| 齐河县| 威远县| 合肥市| 襄城县| 汾阳市| 石棉县| 繁昌县| 措美县| 肇东市| 莲花县| 凭祥市| 东宁县| 腾冲县| 武定县| 纳雍县| 加查县| 湟中县| 图们市| 玉树县| 潞城市| 铜川市| 岐山县| 阜阳市| 朝阳区| 石林| 诸暨市| 新巴尔虎右旗| 两当县| 综艺| 三都| 葫芦岛市| 邯郸市|