Python Python实现批量安装android apk包
基于Python实现批量安装android apk包
by:授客 QQ:1033553122
1.相关软件包及文件下载
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的守护进程
Python Python实现批量安装android apk包的更多相关文章
- Visual Studio 2017为Android APK包签名
Visual Studio 2017为Android APK包签名 为Android APK包签名,可以保证后期的App顺利升级.在Visual Studio 2015中,IDE会自动生成两个AP ...
- Python 使用 distutils 工具安装的扩展包的卸载
Python 编写完扩展包并 build 好后,可以采用 $ sudo ./setup.py install 安装.采用这种方式安装的扩展包,可以使用 pip list 查看到,但不能直接使用 pip ...
- Python - 升级所有已安装的第三方包
我们有时候需要把系统上已经安装的第三方的packages升级到最新版.但是easy_install和pip都没有直接的命令可以使用. 我们可以是用如下命令来查看系统上面哪些包过期了. pip list ...
- 在多版本python的pip的安装与对应包的安装
最近花了好长时间在搞这个,由于Deepin下python有两个版本,并且都没有安装pip,之前的博文默认安装pip给python2.7,结果各种问题,在此将之前走过的弯路整合起来: 首先,安装pip ...
- 批量修改安卓apk包名
1.准备工作 1.1 反编译工具apktool下载 1.2 java, android SDK安装 1.2 python安装 2.反编译现有包 apktool.bat d test.apk 3. 直接 ...
- PC机安装android apk | adb install -r
PC 下载 *****.apk 通过adb直接安装到android系统
- [Unity] 导出Android APK包出错
确认Android环境是OK的. 检查 StreamingAssets 目录下是否有中文的文件名 检查其它目录的中文文件名. 移除一些插件再试.
- Android Apk包下查看 sha1
用keytool工具查看sha1,格式如下:keytool -printcert -file Urovo.RSA文件路径(APK解压后在Meta-INF文件夹下)
- linux安装配置apk打包程序gradle+jdk+Android_sdk+python自动化编译脚本
安装gradle: 1.下载gradle包 去这里下载需要的tar.gz包:https://services.gradle.org/distributions/ 2.解压 tar zxvf gradl ...
随机推荐
- Aseprite+Cocos:打包像素画图,导入到cocos里并动起来
前言:Aseprite入门教程 Aseprite入门:第一个gif动图 1.制作像素画: 按照上一次的小球跳动制作过程,先制作一个像素画动画: 若是导出gif动态图,效果如下: ...
- Python代码规范之---代码不规范,亲人两行泪
任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步! 关于代码规范 Python 官方提供有一系列 PEP(Python Enhancement Proposals) 文档 其中第 8 篇 ...
- The EntityFramework package is not installed on project
VS2015 使用EF的code first 报错 Get-Package : 找不到与参数名称“ProjectName”匹配的参数.所在位置 packages\EntityFramework.6.1 ...
- C# 结合 using 语句块的三种实用方法
一.简介 阅读 Abp 源码的过程中,自己也学习到了一些之前没有接触过的知识.在这里,我在这儿针对研究学习 Abp 框架中,遇到的一些值得分享的知识写几篇文章.如果有什么疑问或者问题,欢迎大家评论指正 ...
- CentOS 7.x 安装 Docker-Compose
一.安装步骤 添加企业版附加包. yum -y install epel-release 安装 PIP. yum -y install python-pip 更新 PIP. pip install - ...
- c# json 序列化如何去掉null值
要将一个对象序列化,可是如果对象的属性为null的时候,我们想将属性为null的都去掉. 在这里我使用Newtonsoft.Json.dll 记录一下序列化以及反序列化 json字符串转对象 Mode ...
- ionic3 ionic serve build fail Error: webpackJsonP is not defined
ionic升级后发现 ionic serve 跑起来项目出现一下错误: Runtime Error: webpackJsonP is not definedStack: @http://localho ...
- elasticsearch 操作
文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html 客户端:https://www.elasti ...
- mysql 开发进阶篇系列 42 逻辑备份与恢复(mysqldump 的完全恢复)
一.概述 在作何数据库里,备份与恢复都是非常重要的.好的备份方法和备份策略将会使得数据库中的数据更加高效和安全.对于DBA来说,进行备份或恢复操作时要考虑的因素大概有如下: (1) 确定要备份的表的存 ...
- CDlinux系统破解无线wifi
CDlinux是破解无线wifi信号的很好用的系统.它就像一个PE,不过它是基于Linux内核的微型系统.里面的破解工具很齐全,既有传统的抓包工具,也有最新的PIN码破解软件,而且针对windows用 ...

