Python操作adb命令脚本
一、脚本代码(有错误,抓紧改进中)
import os
import datetime date1=datetime.datetime.now().strftime('%Y%m%d')
date2=datetime.datetime.now().strftime('%H%M%S') adb_dic = {
'': 'adb devices',
'': 'adb shell pm list packages',
'': 'adb shell pm list packages -3',
'': 'adb shell pm list packages -s',
'': r'adb logcat -c && adb logcat >D:\log\%s\\log_%s.txt'%(date1,date2),
'': r'adb logcat -v time >D:\log\%s\\log_%s.txt'%(date1,date2),
'': 'adb kill-server',
} def adb_cmd(k):
adb = adb_dic[k]
os.system(adb) def adb_run():
while True:
print("""1.获取连接设备 2.查看应用列表 3.查看第三方应用列表 4.查看系统应用列表 5.抓日志 6.time格式日志
7.停止日志""")
choice = input('请输入序号选择您需要的功能:').strip()
if choice not in adb_dic: continue # 如果输入的不在里面,返回循环
adb_cmd(choice) # 加括号就可执行 def run():
while True:
print("""
1.adb命令
2.其他1 """)
choice = input('请选择:').strip()
if choice == '':
adb_run()
else:
print('输入的指令有误')
if __name__ == '__main__': #
run() # 程序启动
二、adb logcat 命令详解
#显示全部日志
adb logcat #筛选日志
adb logcat -s [TAG] [TAG] [TAG] [TAG]... #筛选TAG是Wallet和QPayAdapter的日志
adb logcat | grep [TAG] #筛选以Wallet开头的TAG日志
adb logcat [TAG]:S #过滤掉TAG是Wallet的日志 #保存日志到文件
adb logcat > ~/Desktop/log.txt
adb logcat -v time > ./a.log #日志输出到文件,-v表示输出格式
adb logcat -v time | tee ./a.log #日志输出到文件和屏幕 -d 将日志显示在控制台后退出
-c 清理已存在的日志
-f <filename> 将日志输出到文件
-v <format>设置日志输入格式控制输出字段,默认的是brief格式
brief — 显示优先级/标记和原始进程的PID (默认格式)
process — 仅显示进程PID
tag — 仅显示优先级/标记
thread — 仅显示进程:线程和优先级/标记
raw — 显示原始的日志信息,没有其他的元数据字段
time — 显示日期,调用时间,优先级/标记,PID
long —显示所有的元数据字段并且用空行分隔消息内容
三、python中的subprocess.Popen()使用详解
https://www.cnblogs.com/lgj8/p/12132829.html
Python操作adb命令脚本的更多相关文章
- pyadb关于python操作adb的资料
3.最后adb命令由于是android的原生操作命令,支持实现的功能非常多.这里举几个pyapp里实现的功能例子:获取,修改手机当前使用的输入法(adb shell ime list),获取当前手机界 ...
- python操作adb代码
adb命令的练习 #!/usr/bin/env python # encoding: utf-8 import os import re nameplt=re.compile("packag ...
- [adb 学习篇] python将adb命令集合到一个工具上
https://testerhome.com/topics/6938 qzhi的更全面,不过意思是一样的,另外补充一个开源的https://github.com/264768502/adb_wrapp ...
- python操作redis命令
Python操作redis from redis import StrictRedis, ConnectionPoolredis_url="redis://:xxxx@112.27.10.1 ...
- python调用adb命令进行手机操作
Python中执行cmd命令可以用到os和subprocess两个模块. 区别在于os是阻塞式的,subprocess是非阻塞式的,所以一般我们使用subprocess是比较适合的. 接下来我先举一个 ...
- python操作excel实用脚本
import xlrd data = xlrd.open_workbook('/home/ppe/workspace/pythonwp/tianranqi_org.xls') table = data ...
- appium+python自动化-adb shell模拟点击事件(input tap)
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...
- python操作MySQL数据库报错问题解决
编写好Python操作数据库的脚本后,运行报错如下: 报错1:“AttributeError: 'NoneType' object has no attribute 'encoding'” 解决办法: ...
- python借助ADB工具实现自动化操作手机
核心工具——ADB工具 adb工具用于连接Android手机和PC端,我们借助adb工具,就可以通过命令行对手机进行相应的操作 注意:若要通过adb操作手机,需打开手机的开发者模式,并打开USB调试功 ...
随机推荐
- MAC安装VMware fusion
1.下载VMware fusion 11 https://www.vmware.com/cn/products/fusion/fusion-evaluation.html 2.安装后启用输入注册码 V ...
- egret.sys.TextNode
class Test extends egret.Shape{ protected textNode:egret.sys.TextNode; constructor(){ this.width = t ...
- node+ajax实战案例(1)
1.mysql入门 1.1.数据库相关概念 1.1.1.什么是数据? 描述事物的符号记录称为数据,描述事物的符号可以是数字.文字.声音.图片.视频等,有多种表现形式,都可以经过数字化后存入计算机 1. ...
- 老板急坏了,公司网站的 HTTPS 过期了
端午出去玩的时候,老板打电话说公司网站的 HTTPS 过期了,访问不了(见下图),要我立马升级一下.可惜我当时没带电脑,无能为力,可把老板急坏了. 没办法,急就先急着,只能等我有电脑了才能搞.点击高级 ...
- 【Xamarin.Forms 3】页面类型
系列目录 微信 1.[Xamarin.Forms 1]App的创建与运行 2.[Xamarin.Forms 2]App基础知识与App启动 知乎 1.[Xamarin.Forms 1]App的创建与运 ...
- 日期类&&包装类&&System类&&Math类&&Arrays数组类&&大数据类
day 07 日期类 Date 构造函数 Date():返还当前日期. Date(long date):返还指定日期 date:时间戳--->距离1970年1月1日 零时的毫秒数 常用方法 日期 ...
- MysqlException: max pool size was reached.
2019-09-09 08:22:08.620 +00:00 [ERR] Connection id "0HLPKVK52H2OU", Request id "0HLPK ...
- Hills——一道转移方程很“有趣”的线性DP
题目描述 Welcome to Innopolis city. Throughout the whole year, Innopolis citizens suffer from everlastin ...
- css3 pointer-events(阻止hover、active、onclick等触发事件)
pointer-events CSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的 target. /* Keyword values */ pointer-events: ...
- Linux 相关学习内容(不定期更新)
Linux 主要目录 / 根目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始 /bin 可执行二进制文件的目录,如常用的命令,ls, tar, mv, cat.. /boot 放置 ...