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 ...
 
随机推荐
- GNU 下命令objcopy 用法
			
概念: 将目标文件的一部分或者全部内容拷贝到另外一个目标文件中,或者实现目标文件的格式转换. 常用转换: 1 把elf格式转成s19格式: objcopy --srec-len --srec-forc ...
 - Python中使用PyCharm为函数及参数增加注释
			
在函数名中键入数遍光标,左上角亮起小灯泡,点击小灯泡 选中第二行内容 在"""后添加函数注释,以及参数注释 然后再引用函数时,选中函数,Ctrl q 即可显示函数以及参 ...
 - HP服务器设置iLO
			
HP服务器设置iLO步凑 1.开机出现界面—按下F11进入Boot Menu: 2.选择Generic USB Boot回车: 3.选择System Configuration回车: 4.选择iLO ...
 - 我可能不懂Array.prototype.sort
			
今天 fix 我们后台系统的一些 bug.系统是基于 beego 和模板开发的,各种前后端代码揉作一团,没有格式,没有 eslint,全局变量满天飞,连 js 代码都有后端的插值,读起来非常 酸爽. ...
 - Java集合及concurrent并发包总结(转)
			
Java集合及concurrent并发包总结(转) 1.集合包 集合包最常用的有Collection和Map两个接口的实现类,Colleciton用于存放多个单对象,Map用于存放Key-Valu ...
 - mysql 多表删除
			
删除用户数据,我们就需要删除有关用户的所有数据. 主表是有数据的,其他关联表不一定有数据,我们可以用left join 来关联删除的表. eg:table1 是主表,t2,t3是关联表. SELECT ...
 - [CF286E] Ladies' shop
			
Description 给出 \(n\) 个 \(\leq m\) 且不同的数 \(a_1,\dots,a_n\),现在要求从这 \(n\) 个数中选出最少的数字,满足这 \(n\) 个数字都可以由选 ...
 - python模块导入细节
			
python模块导入细节 官方手册:https://docs.python.org/3/tutorial/modules.html 可执行文件和模块 python源代码文件按照功能可以分为两种类型: ...
 - Go Web:数据存储(3)——gob对象序列化
			
序列化持久存储gob 1.内存存储 2.CSV文件存储 3.gob序列化存储 本篇文章仍然接前面的文章:内存存储,主要介绍将博客文章数据序列化持久到文件中. encoding/gob包用于编码器和解码 ...
 - OJ:神秘的数组初始化
			
描述 填空,使得程序输出指定结果 #include <iostream> using namespace std; int main() { int * a[] = { // 在此处补充你 ...
 
			
		
