python 多设备同时安装app包
python 多设备同时安装app包
上代码
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
import os
import time
from multiprocessing import Pool
list=[] def getDevicesAll():
#获取devices数量和名称
devices = []
try:
for dName_ in os.popen("adb devices"):
if "\t" in dName_:
if dName_.find("emulator") < 0:
devices.append(dName_.split("\t")[0])
devices.sort(cmp=None, key=None, reverse=False)
print(devices)
except:
pass
print(u"\n设备名称: %s \n总数量:%s台" % (devices, len(devices)))
return devices def quickinstall(device):
packagename="com.ishugui"
#卸载原有apk
try: os.system('adb -s ' + device + ' uninstall %s'%packagename)
os.system('adb -s ' + device + ' uninstall %s'%packagename)
print(device + " 卸载成功\n")
except:
print(device + " 卸载失败\n") try:
print('-----list-----',list) for i in list:
os.system('adb -s ' + device + ' install ' + i) except:
print(device + " 安装失败\n")
print(device + " 安装成功\n") def qainstall(devices,):
starttime=time.time()
pool = Pool(2) #创建8个任务池
result=pool.map(quickinstall,devices)
endtime=time.time()
pool.close()
pool.join()
print(endtime-starttime) #打印时间 def get_apk(filename):
global list
#filesname = 'F:/download/apk'
#获取安装包
print(filesname)
for parent, dirnames, filnames in os.walk(filesname):
for filname in filnames:
path = os.path.join(parent, filname)
list.append(path)
print('-----list-----', list)
return list #包路径
filesname = 'F:/download/apk'
#获取安装包
print(filesname)
for parent, dirnames, filnames in os.walk(filesname):
for filname in filnames:
path = os.path.join(parent, filname)
list.append(path)
print('-----list-----', list) if __name__ == "__main__": filesname = 'F:/download/apk'
list=get_apk(filesname) try:
devices = getDevicesAll()
except:
print("获取设备出错")
res = input("输入1开始更新:") if int(res) == 1:
try:
qainstall(devices)
except:
print("更新失败")
#Touch(devices)
python 多设备同时安装app包的更多相关文章
- 插入光盘,创建挂载点,挂载设备,安装rpm包,升级rpm包,卸载rpm包,查询rpm包是否安装,查询rpm包信息、安装位置,查询系统文件名属于哪个安装包
插入光盘: 创建挂载点: 创建挂载点. 挂载设备:或者mount /dev/sr0 /mnt/cdrom 安装rpm包: [root@localhost Packages]# rpm -ivh mys ...
- 在linux中自动向设备中安装apk包
环境:华为手机 linux centos64 为了锻炼自己,我把脚本文件和APK文件放到了不同的路径下. 需求:将虚拟机中的100个apk包安装到手机中. import os,time os.chdi ...
- 对于python setup.py install安装的包如何卸载
easy_install 安装 卸载命令 easy_install -m package-name setup.py安装 帮助你纪录安装细节方便你卸载 python setup.py install ...
- Python 在 Windows 下安装第三方包,报 Python 未注册的问题解决
保存一些代码为 reg.py,运行之即可. #/usr/bin/env python # -*- coding: utf-8 -*- import sys from _winreg import * ...
- Python中删除easy_install安装的包
网上查了一大圈,终于在官网上找到了.记一下,备忘...
- python源码安装的包的卸载
python setup.py install安装的包如何卸载 在使用源码安装的过程中,记录安装文件细节,如: python setup.py install --record log 这时所有的安装 ...
- ios模拟器安装测试包方法
1. 使用ios-sim ios-sim是一个可以用命令空着ios模拟器的工具.利用这个命令,我们可以启动模拟器.安装app.启动app.查询ios sdk,它可以使我们像自动化测试一样打开xcode ...
- 在Mac OS X 通过抓包、“第三方下载工具”加速下载、安装APP或系统
#!/bin/bash ######################################################################################## ...
- Appium+Python自动化 3 -获取 app 包名和 activity
方法一: ①手机通过USB连接电脑 ②打开手机上被测app ③在电脑上 dos命令窗口,输入命令 adb shell dumpsys window w | findstr \/ | findstr n ...
随机推荐
- eclipse debug (调试)基础
进入debug模式: 1.设置断点 2.启动servers端的debug模式 3.运行程序,在后台遇到断点时,进入debug调试状态 ============================= 作用域 ...
- (转)将SVN从一台服务器迁移到另一台服务器(Windows Server VisualSVN Server)
转:http://blog.sina.com.cn/s/blog_855a24030102xp9q.html 服务器环境: Windows Server 2012 软件版本: VisualSVN-S ...
- thinkphp5一键清除缓存
入口文件定义缓存文件路径常量 define('DS', DIRECTORY_SEPARATOR); defined('APP_PATH') or define('APP_PATH', dirname( ...
- 阿里云epel源
epel是个好东西,不过国外的速度实在是不能忍受.所以 有了这篇文章.1. 首先卸载以前装的epel以免影响 rpm -e epel-release 2. 下载阿里提供的epel wget -P /e ...
- 将日志(Microsoft.Extensions.Logging)添加到.NET Core控制台应用程序
在.NET Core项目中,日志记录是通过依赖项注入进行管理的. 尽管这对于ASP.NET项目效果很好,但在启动Startup.cs中的新项目时,所有这些都会自动创建,而在控制台应用程序中则需要一些配 ...
- AngularJS之ng-class
https://www.cnblogs.com/CreateMyself/p/5566412.html
- tarjam 模板改编
思路要灵活 邻接表涉及数组问题,可以用vector代替
- python作业/练习/实战:生成随机密码
作业要求1.写一个函数,函数的功能是生成一批密码,存到文件里面 def gen_password(num): #num代表生成多少条密码2.密码复杂度要求 1)长度在,8-16位之间 2)密码必须包括 ...
- java性能调优03
1.java中的四种引用类型(级别由高到低为:强引用,软引用,弱引用和虚引用) 1.1 强引用:默认创建的变量都是强引用,垃圾回收机制不会将其回收,当内存空 间不足,Java虚拟机宁愿抛出OutOfM ...
- Java-技术专区-虚拟机系列-内存模型(JMM)
Java8内存模型—永久代(PermGen)和元空间(Metaspace) 一.JVM 内存模型 根据 JVM 规范,JVM 内存共分为虚拟机栈.堆.方法区.程序计数器.本地方法栈五个部 ...