专栏首页授客的专栏Python Python实现批量安装android apk包

Python Python实现批量安装android apk包

1.相关软件包及文件下载

下载地址:adb软件包及批量安装apk包的py文件.zip

2.测试环境

Win7 64位

Python 3.3.2

3.用法及代码show

用法:

把.apk包放入apk目录下,然后进入到install_apk_once_many.py所在目录,运行程序:

python install_apk_once_many.py

运行结果:

代码展示

#!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'shouke' import subprocess import os workdir = os.getcwd() apk_path = os.path.join(workdir, 'apk') adb_apth = os.path.join(workdir, 'adb.exe') p = subprocess.Popen(adb_apth + ' root', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, universal_newlines=True) try: p.communicate() if p.returncode: print('运行出错,程序已退出') exit() except Exception as e: p.kill() filename_list = os.listdir(apk_path) fail_cnt = 0 # 统计安装成功的包数 pass_cnt = 0 # 统计安装失败的包数 fail_list = [] # 存放安装失败的包文件名 for filename in filename_list: if os.path.splitext(filename)[1] == '.apk': # 判断是否是apk包 print('正在安装apk包:%s' % filename) p = subprocess.Popen(adb_apth + ' install -r apk/' + filename, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True, shell=True) # adb install -r 如果已存在则覆盖安装 try: outs = p.communicate()[0] if outs.find('Success'): print('安装成功\n') pass_cnt = pass_cnt + 1 else: print('安装失败\n') fail_cnt = fail_cnt + 1 fail_list.append(filename) except Exception as e: p.kill() print('安装成功总数:', pass_cnt) print('安装失败总数:', fail_cnt) print ('安装失败的文件有:', fail_list)

注:

adb root 以root权限重新启动 adb的守护进程

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JMeter http(s)测试脚本录制器的使用

    http(s) Test Script Recorder允许Jmeter在你使用普通浏览器浏览web应用时,拦截并录制你的操作.

    授客
  • Easyui datagrid 修改分页组件的分页提示信息为中文

    直接引入中文locale目录下的easyui-lang-zh_CN.js,引入时注意js的引入顺序,避免js直接的相互影响,比如后面引入的js覆盖前面引入的js

    授客
  • MySQL MySql连接数与线程池

    http://dev.mysql.com/doc/refman/5.7/en/set-statement.html

    授客
  • 堆栈基础(一)

    安恒网络空间安全讲武堂
  • pytorch: 框架介绍

    Petrichor_
  • Vue与REACT两个框架的区别和优势对比

    VUE和REACT两个JavaScript框架都是当下比较受欢迎的,他们两者之间的区别有那些,各自的优缺点是什么,本文将为你呈现。

    landv
  • 如何提升你的CSS技能,掌握这20个css技巧即可[完整版]

    随着前端开发越来越关注效率:通过选择器的使用和简化代码来快速加载渲染。像Less、SCSS这样的预处理器在工作的时候,需要绕的路较长,而直接使用css速度会更快...

    Javanx
  • Python线程同步

    用户2398817
  • 【CSS进阶】伪元素的妙用--单标签之美

    Sb_Coco
  • 如何通过学校系统漏洞注册到 @edu.cn 邮箱账号?

    我们学校比较“抠”,可能是为了节省学校的带宽资源然后禁止学生注册教育邮箱账号。不过像一部电影所说的那样“没有绝对安全的系统”,有时候如果多动一下脑子并不需要“进...

    壹言

扫码关注云+社区

领取腾讯云代金券