批量安装当前目录下的apk文件
来源:互联网 发布:怎样手机网络理财投资 编辑:程序博客网 时间:2024/06/11 03:59
#!/usr/bin/env python# -*- coding:utf-8 -*-import osimport sys# 脚本用来进行adb 批量push文件,并预置So库,逻辑为按照push脚本所在目录中list文件进行相应的apk下载。脚本所在目录应包含list(各个包)和so库文件夹# reload(sys)# sys.setdefaultencoding('utf8')# adb连接指令print u"等待设备连接"popen = os.popen("adb wait-for-device")print popen.read()print u"设备已连接"os.popen("adb root")os.popen("adb wait-for-device")os.popen("adb remount")os.popen("adb wait-for-device")# 获得当前目录文件及文件夹cwdpath = os.listdir(os.getcwd())# print "flag:%s"%cwdpath#获得.py文件所在目录路径pypath = os.path.split(os.path.realpath(__file__))[0]# 安装单个apkoneapk = raw_input(unicode("输入123456进行默认操作!安装单个apk文件,请直接输入包含'.apk'的文件名并回车:", "utf-8").encode('gbk'))# 进行包含".apk"文件名的单个apk安装,并预置so库if ".apk" in oneapk: print oneapk print "removing %s" % oneapk try: rmoneapk = os.popen("adb shell rm /system/priv-app/%s" % oneapk) # print rmoneapk.read() except: print u"此apk不存在" finally: instapk = os.popen("adb push %s /system/priv-app" % oneapk) print u"%s push 完毕" % oneapk # 获得当前目录的绝对路径 #filepath = os.path.abspath(os.getcwd()) # 打开路径下的so文件夹,预置so库 so_path = pypath + '\so' # 列出so文件夹下文件 lis_so = os.listdir(so_path) # print lis_so # 获得so文件夹的绝对路径 so_abspath = os.path.abspath(so_path) # 打开so文件夹 os.chdir(so_abspath) # 输出so文件夹绝对路径 print so_abspath print u"预置so库" for c in lis_so: print c print "pushing so/%s to /system/lib/" % c with open(c, 'r') as e: pushso = os.popen("adb push %s /system/lib/%s" % (c, c)) print pushso.read() os.popen("adb shell chmod 644 /system/lib/%s" % c) print u"预置so库完毕"# 默认操作else: # 获得当前目录的绝对路径 filepath = os.path.abspath(os.getcwd()) pypath = os.path.split(os.path.realpath(__file__))[0] # 打开路径下的so文件夹,预置so库 so_path = pypath + '\so' # 列出so文件夹下文件 lis_so = os.listdir(so_path) # print lis_so # 获得so文件夹的绝对路径 so_abspath = os.path.abspath(so_path) # 打开so文件夹 os.chdir(so_abspath) # 输出so文件夹绝对路径 print so_abspath print u"预置so库" for c in lis_so: print c print "pushing so/%s to /system/lib/" % c with open(c, 'r') as e: pushso = os.popen("adb push %s /system/lib/%s" % (c, c)) print pushso.read() os.popen("adb shell chmod 644 /system/lib/%s" % c) print u"预置so库完毕" # 删除旧的apk # 回到apk所在目录 os.chdir(pypath) # print 'tag:%s' %filepath with open(pypath + '\list.txt', 'r') as f: for l in f.readlines(): print "uninstalling %s" % l uninst = os.popen("adb shell pm uninstall %s" % l) print uninst.read() # 遍历list,按list中包名记性删除apk with open(pypath + '\list.txt', 'r') as f: print u"check并删除旧的APK" for l2 in f.readlines(): print "checking %s" % l2 try: package = os.popen("adb shell pm path %s" % l2).read().encode().replace("\r\n", "") packagestr = package.split(":")[1] print packagestr print "removing %s" % packagestr rmapk = os.popen("adb shell rm %s" % packagestr) print rmapk.read() except: print "Failure" # 安装APK cwdpath1 = os.listdir(os.getcwd()) for apk in cwdpath1: if os.path.isfile(apk) and os.path.splitext(apk)[1] == '.apk': instapk = os.popen("adb push %s /system/priv-app" % apk) print instapk.read() print u"%s push 完毕" % apkos.popen("adb reboot")print u"预置应用完毕,等待重启"os.popen("adb wait-for-device")print u"重启完毕,好运"os.system("pause")
1 0
- 批量安装当前目录下的apk文件
- 安装当前目录下所有apk 的脚本(python2.x)
- 批量删除当前目录下的可执行文件
- 批量删除当前目录下的可执行文件
- [Scripts][Bash] Android下批量安装指定目录下的所有apk
- 批量删除当前目录下后缀名为.c的文件。如a.c、b.c。
- 批量解压当前目录下的zip文件_循环执行
- 一个批量安装文件夹下(包括子目录下)全部的Android apk文件批处理脚本
- 一个批量安装文件夹下(包括子目录下)全部的Android apk文件批处理脚本
- 一个批量安装文件夹下(包括子目录下)全部的Android apk文件批处理脚本
- assets目录下apk的安装
- 目录下指定文件的批量清理
- 获取当前目录下的所有文件
- 当前目录下通用的Makefile文件
- Linux查找当前目录下的文件
- 安装raw文件下的apk文件
- 当前目录下批量文件名重命名
- 批量安装文件夹下的所有apk应用
- caffe接口及命令操作
- make Image uImage与zImage的区别
- Android入门之系统架构了解
- Jmeter性能测试 入门
- Class(ACM ICPC 2008–2009, NEERC, Northern Subregional Contest)
- 批量安装当前目录下的apk文件
- CAFFE源码学习笔记之五-internal_thread
- Ubuntu下Redis安装
- 关于用集合的remove方法删除list集合中满足条件的元素问题
- day03_从键盘输入3个数,进行排序并从大到小输出
- String,StringBuffer、StringBuilde 详细介绍
- 解决:Oracle the network adapter could not establish the connection
- 销毁Session
- Android中的windowSoftInputMode属性详解