ADB使用经验
adb是Android Debug Bridge的缩写,是一种用于与Android设备通信的命令行工具。它可以通过USB连接或Wi-Fi连接,允许开发者在计算机和Android设备之间进行文件传输、安装应用程序、调试应用程序等操作。要使用adb,需要先将Android设备与计算机连接,并确保设备允许USB调试模式。然后,在计算机的命令行界面上输入adb命令,后面加上相应的参数即可执行各种操作。例如,adb devices 命令可以列出已连接的Android设备,adb install 命令可以将一个apk文件安装到Android设备上。可以通过 adb --help 命令来获取更多的adb命令及其用法。
我们可以使用adb实现手机的自动化
1.下载adb:
Android SDK环境
①SDK官方下载地址:https://developer.android.com/studio/releases/platform-tools
②将下载下来的SDK解压后按照下图配置环境变量(这里的变量值为自己解压后的SDK路径)
然后再在path中加入这两条路径即可:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
最后在cmd中输入adb有如下提示表示安装成功
2.连接手机:
手机和电脑肯定要在统一局域网内,即连接同一个WIFI。
1.打开手机开发者模式,并通过USB接口连接电脑。
2.打开手机的开发者模式,勾选USB调试,和“仅充电”模式下允许ADB调试(这两步很重要)
(其他手机有adb网络调试的也可以打开)
3.打开cmd终端输入adb devices
出现这个说明USB线连接成功
4.接着输入 adb tcpip 5555 (这个是从usb模式切换到无线连接,后面的5555为端口,可以指定其他的端口,前提是端口未被调用)
5.输入adb connect 192.168.xxxx.xxxx:5555 (192.168.xxxx.xxxx为你手机的ip地址,5555为了设置·的端口号)
出现这个说明连接成功 ,输入 adb devices 测试一下是否真的连接成功
想要断开输入
adb disconnect 手机ip //断开指定IP
adb disconnect //断开所有
6.这时可以拔下数据线了 ,输入adb devices
这样无线调试就成功了
第二次连接的时候无需数据线了,在保证电脑和手机在同一个局域网的情况下直接在cmd终端输入
adb connect 192.168.xxxx.xxxx:5555 (192.168.xxxx.xxxx为你手机的ip地址,5555为了设置·的端口号)就可以成功连接了
3.adb的常见命令:
获取当前启动app的包名和启动名
adb shell dumpsys window | findstr mFocusedApp 卸载软件
adb uninstall <软件名>
adb uninstall -k <软件名>
如果加 -k参数, 为卸载软件 但是保留配置和缓存文件
开启adb服务
adb start-server
关闭adb服务,杀掉进程
adb kill-server
连接设备
adb connect 设备ip(如:192.168.1.61)
如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。上面192.168.1.61替换成想要连接设备的IP即可
断开设备
adb disconnect 设备ip(如:192.168.1.61)
清除应用数据与缓存
adb shell pm clear (apk包名)
获取文件的读写权限
adb remount
有些设备并不能直接adb remount,必须要先以root身份进入,先执行adb root,在执行adb remount
查询已安装包名列表
adb shell pm list package
对com.xx.mm包使用monkey命令
adb shell monkey -p com.xx.mm --throttle 200 50000
查找monkey进程信息
adb shell ps | find "monkey"
杀掉monkey进程,例子中的数字是monkey的PID进程号
adb shell kill 23770
重启手机
adb shell reboot
打开svc帮助界面
adb shell svc
查询wifi操作帮助
adb shell svc wifi
关闭wifi
adb shell svc wifi disable
打开wifi
adb shell svc wifi enable
擦除data,即恢复出厂设置
adb shell wipe data
指定查询"mF"的activity信息
adb shell dumpsys activity | find "mF"
启动指定activity
adb shell am start -n com.android.browser/.BrowserActivyty
查看am命令的帮助信息
adb shell am
清空logcat日志
adb logcat -c
查看bug报告
adb bugreport
获取设备的ID和序列号
adb get-serialno
更多请看:
(4条消息) ADB 操作命令详解及用法大全_Lucas__liu的博客-CSDN博客
4.在python中使用adb:
# ---------多台手机刷视频-------------
#短视频平台通用
import os
import time
import sys
import random
import threadinga=130 #int(input('输入次数需要滑动的次数:')) #刷多少个视频def phone1set():os.system('adb tcpip 5555') #使用adb打开无线开关,如果报错,此时请将手机与电脑先通过数据线连接,试运行一次后再拔掉数据线os.system('adb connect 192.168.1.16:5555') #连接手机的IP地址
#是否多台手机同时刷
def phone2set():os.system('adb tcpip 5556') #使用adb打开无线开关,如果报错,此时请将手机与电脑先通过数据线连接,试运行一次后再拔掉数据线os.system('adb connect 192.168.1.18:5556') #连接手机的IP地址def phone1():c=0while c<a: #循环运行os.system('adb -s 192.168.1.16:5555 shell input swipe 550 1300 550 350') #使用adb指令滑动手机time.sleep(random.randint(8,22)) #随机刷视频时间8-22秒之间c = c + 1print(f"手机1刷新{c}次")else:print("任务全部完成")fun=os.system('adb kill-server') #运行结束杀掉adb进程sys.exit("bye")def phone2():b=0while b<a:os.system('adb -s 192.168.1.18:5556 shell input swipe 550 1300 550 350')time.sleep(random.randint(8,20))b=b+1print(f"手机2刷新{b}次")else:print("任务全部完成")fun=os.system('adb kill-server')sys.exit("bye")def main():os.chdir(r"D:\SoftWare\Android SDK\android-sdk_r24.4.1-windows\android-sdk-windows\platform-tools") #切换到adb所在目录,调用adb工具phone1set() #连接手机1time.sleep(5) #暂停5秒给手机电脑连接的反应时间phone2set()print("已连接设备名称如下:")print(os.system('adb devices')) #查看连接信息,可判断是否连接成功thread_phone1=threading.Thread(target=phone1) #启用多线程控制thread_phone1.start()thread_phone2=threading.Thread(target=phone2)thread_phone2.start()thread_phone2.join()thread_phone1.join()if __name__ == "__main__":
main()
相关文章:
ADB使用经验
adb是Android Debug Bridge的缩写,是一种用于与Android设备通信的命令行工具。它可以通过USB连接或Wi-Fi连接,允许开发者在计算机和Android设备之间进行文件传输、安装应用程序、调试应用程序等操作。要使用adb,需要先将Android设备与计算机连…...
详解LinkedHashSet和LinkedHashMap
目录 一.LinkedHashSet和LinkedHashMap 1.基本介绍 2.与HashSet和HashMap的区别 3.LinkedHashSet和LinkedHashMap具体的方法 1.LinkedHashSet 2.LinkedHashMap 二.模拟代码实现LinkedHashMap 三.具体应用 一.LinkedHashSet和LinkedHashMap 1.基本介绍 顾名思义,根据名…...
C++ LinuxWebServer 2万7千字的面经长文(下)
⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨🎓。 如果觉得本文能帮到您,麻烦点个赞👍呗! Linux Web Server项目虽然是现在C求职者的人手一个的项目,但是想要吃透这个项目,还是…...
RK3568平台开发系列讲解(驱动基础篇)IO 模型的分类
🚀返回专栏总目录 文章目录 一、阻塞 IO二、非阻塞 IO三、IO 多路复用四、信号驱动五、异步 IO沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将针对IO模型进行分类。 假设有这样一个场景,从磁盘中循环读取 100M 的数据并处理,磁盘读取 100M 需要花费 20 秒的…...
ChatGPT 有哪些 “激动人心的时刻“?以及自己的一些思考
文章目录一、前言二、主要内容三、一些思考🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 一、前言 近日,英伟达创始人兼 CEO 黄仁勋与 OpenAI 联合创始人及首席科学家伊尔亚-苏茨克维 (Ilya Sutskever) 展开了一次 “炉边谈话”。 黄仁…...
Thingsboard开源物联网平台智慧农业实例快速部署教程(二)【手把手部署UI与动态数据】
Thingsboard开源物联网平台智慧农业实例快速部署教程(二)【部署UI与动态数据】 文章目录Thingsboard开源物联网平台智慧农业实例快速部署教程(二)【部署UI与动态数据】1. 页面总览2. 设备2.1 数据字段定义2.2 设备映射关系2.3 添加…...
Redis事务
1、事务概要 Redis事务是一个单独的隔离操作: 事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis事务的主要作用 串联多个命令,防止别的命令插队。 事务的3个命令 MultiExe…...
【蛤蟆先生去看心理医生】
第一章 整个人都不太好 人物性格描述蛤蟆热情、时尚、爱冒险,现在抑郁,不能自拔獾智慧、威严河鼠关心朋友,有点絮叨鼹鼠体贴善良 第二章 擎友前来相助 讲诉了鼹鼠和河鼠对蛤蟆情况的担忧和讨论。鼹鼠回忆起过去蛤蟆时髦的打扮和充满活力的生…...
JAVA开发与运维(云安全产品)
在现在的开发和运维中,云生态组件的使用率非常高,很少公司自己维护自己的物理机,网络流量 ,监控,第三方中间件,除了少数涉密程度高的部分和公司外,大多数的企业都在使用云生态。比如我们正在开发…...
[Few-shot learning] Siamese neural networks
这篇文章主要介绍的是Siamese Neural Network经典论文: Gregory Koch, et al., Siamese Neural Networks for One-shot Image Recognition. ICML 2015。 神经网络能够取得非常好的效果得益于使用大量的带标签数据进行有监督学习训练。但是这样的训练方法面临两个难题…...
利用qiankun框架在自己项目中集成拖拽式低代码数据可视化开发平台
目前微前端已经是很成熟的技术了,各大公司都推出了自己的微前端框架,比如蚂蚁的qiankun,京东的micro-app,如果你的子应用不使用vite构建的话,我会更加推荐后者,micro-app使用更加简单,micro-app…...
【spring boot】在Java中操作缓存:
文章目录一、Jedis二、Spring Data Redis(常用)【1】pom.xml【2】application.yml【3】RedisConfig【4】RuiJiWaiMaiApplicationTests三、Spring Cache【1】常用注解:【2】使用案例【3】底层不使用redis,重启服务,内存…...
擂台赛-安全攻防之使用openssh后门获取root密码实战
前言 大家好,我是沐风晓月,我们开始组队学习了,介绍下我们的情况: 这几天跟队员 迎月,虹月,心月,古月打擂台,我和心月一组,相互攻占对方服务器。 终于在今早凌晨三点拿…...
关于React入门基础从哪学起?
文章目录前言一、React简介1. React是什么2. react 与 vue 最大的区别就是:3. React特点4. React介绍描述5. React高效的原因6.React强大之处二、React基础格式1.什么是虚拟dom?2.为什么要创建虚拟dom?三、React也分为俩种创建方式1. 使用js的方式来创建…...
python玄阶斗技--tkinter库
目录 一.tkinter库介绍 二.功能实现 1.窗口创建 2.Button 按钮 3.Entry 文本输入域 4.text 文本框 5.Listbox 多选下拉框 6.Radiobutton 多选项按钮 7.Checkbutton 多选按钮 8.Scale 滑块(拉动条) 9.Scroolbar 滚动条 10.Menu 菜单栏 11. messagebox 消息框 12…...
【MySQL】MySQL的介绍MySQL数据库及MySQL表的基本操作
文章目录数据库的介绍什么是数据库数据库分类MySQL的介绍数据库的基本操作数据库的操作创建数据库查看所有数据库选中指定的数据库删除数据库常用数据类型数值类型字符串类型日期类型表的操作创建表查看指定数据库下的所有表查看指定表的结构删除表小练习数据库的介绍 什么是数…...
【每日随笔】社会上层与中层的博弈 ( 技术无关、没事别点进来看 | 社会上层 | 上层与中层的保护层 | 推荐学习的知识 )
文章目录一、社会上层二、上层与中层的保护层三、推荐学习的知识一、社会上层 社会上层 掌握着 生产资料 和 权利 ; 社会中层 是 小企业主 和 中产打工人 ; 上层 名额有限 生产资料所有者 : 垄断巨头 , 独角兽 , 大型企业主 , 大型企业股东 , 数量有限 ;权利所有者 : 高级别的…...
Cookie 和 Session的区别
文章目录时间:2023年3月23日第一:什么是 Cookie 和 Session ?什么是 Cookie什么是 Session第二:Cookie 和 Session 有什么不同?第三:为什么需要 Cookie 和 Session,他们有什么关联?第四&#x…...
leetcode使用vscode调试C++代码
leetcode使用vscode调试C代码 这里记录一下大体思路吧,关于细节配置放上别的博主的链接,他们讲的更好 vscode只是编辑器,相当于记事本,需要下载minGW提供的编译器和调试器 官方介绍: C/C拓展不包括编译器或调试器&…...
树莓派Linux源码配置,树莓派Linux内核编译,树莓派Linux内核更换
目录 一 树莓派Linux的源码配置 ① 内核源码下载说明 ② 三种方法配置源码 二 树莓派Linux内核编译 ① 内核编译 ② 编译时报错及解决方案(亲测) 三 更换树莓派Linux内核 操作步骤说明 ● dmesg报错及解决方案(亲测࿰…...
【C语言】深度讲解 atoi函数 使用方法与模拟实现
文章目录atoi使用方法:atoi模拟实现atoi 功能:转化字符串到整数 头文件: #include <stdlib.h> int atoi (const char * str); 参数 str:要转换为整数的字符串 返回值 如果转换成功,函数将转换后的整数作为int值…...
HTTPS的加密流程
1、概念HTTPS 是一个应用层协议,是在 HTTP 协议的基础上引入了一个加密层。HTTP 协议内容都是按照文本的方式明文传输的,这就导致在传输过程中出现一些被篡改的情况。HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协…...
STM32配置读取BMP280气压传感器数据
STM32配置读取BMP280气压传感器数据 BMP280是在BMP180基础上增强的绝对气压传感器,在飞控领域的高度识别方面应用也比较多。 BMP280和BMP180的区别: 市面上也有一些模块: 这里介绍STM32芯片和BMP280的连接和数据读取。 电路连接 BMP28…...
【Linux】 基础IO——文件(中)
文章目录1. 文件描述符为什么从3开始使用?2. 文件描述符本质理解3. 如何理解Linux下的一切皆文件?4. FILE是什么,谁提供?和内核的struct有关系么?证明struct FILE结构体中存在文件描述符fd5. 重定向的本质输出重定向输…...
蓝桥杯刷题冲刺 | 倒计时13天
作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.母牛的故事2.魔板1.母牛的故事 题目 链接: [递归]母牛的故事 - C语言网 (dotcpp.c…...
MIPI D-PHYv2.5笔记(5) -- 不同的PHY配置方式
声明:作者是做嵌入式软件开发的,并非专业的硬件设计人员,笔记内容根据自己的经验和对协议的理解输出,肯定存在有些理解和翻译不到位的地方,有疑问请参考原始规范看 规范5.7章节列举了一些常见的PHY配置,但实…...
【周末闲谈】文心一言,模仿还是超越?
个人主页:【😊个人主页】 系列专栏:【❤️周末闲谈】 周末闲谈 ✨第一周 二进制VS三进制 文章目录周末闲谈前言一、背景环境二、文心一言?(_)?三、文心一言的优势?😗😗😗四、文心一…...
《一“企”谈》 | 「佛山市政」:携手企企通,让采购业务数智化
近日,国家施工总承包壹级企业「佛山市市政建设工程有限公司」(以下简称“佛山市政”)正积极布局数字化建设工作,基于采购业务数智化,携手企企通打造了SaaS采购云平台。 01、岭南建筑强企 匠心铸造精品 …...
Spark运行架构
目录 1 运行架构 2 核心组件 2.1 Driver 2.2 Executor 2.3 Master & Worker 2.4 ApplicationMaster 3 核心概念 3.1 Executor 与 Core 3.2 并行度( Parallelism) 3.3 有向无环图( DAG) 4 提交流程 …...
基于卷积神经网络CNN的水果分类预测,卷积神经网络水果等级识别
目录 背影 卷积神经网络CNN的原理 卷积神经网络CNN的定义 卷积神经网络CNN的神经元 卷积神经网络CNN的激活函数 卷积神经网络CNN的传递函数 卷积神经网络CNN水果分类预测 基本结构 主要参数 MATALB代码 结果图 展望 背影 现在生活,为节能减排,减少电能…...
自助网站建设软件/社群营销策略有哪些
转载自 https://blog.csdn.net/leiting_imecas/article/details/72367937 tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv。...
在线免费网站建设平台/网上如何推广自己的产品
一家是守护网络安全,建设网络强国的主力军,一家是系出高校名门,国内量子信息第一股;两家的结合将会碰撞出什么样的火花,非常值得业界期待。在上周,中国电信和科大国盾量子的合资公司正式成立。新公司名为“…...
临沂市网站建设公司/通过qq群可以进行友情链接交换
建议优先选择centos系统,不过2个显然都是可以满足我们的日常建站需求的。国内其实centos和ubuntu使用的人都还是挺多的,一般用户而言基本没啥显著的区别的,阿里云基本上都可以使用。 不过不用担心的,因为我们的操作系统是可以在后…...
阿里云搭建wordpress/苏州百度
JSON 对象中数组可以包含另外一个数组,或者另外一个 JSON 对象: 微信小程序交流群:111733917 | 微信小程序从0基础到就业的课程:https://edu.csdn.net/topic/huangjuhua 实例 myObj { "name":"网站", &quo…...
淘宝网站建设的主要工作/商品推广
模板题目: 题目来源 [POJ] Genealogical tree 题目描述: 求1到n的其中一种拓扑序,保证存在一种拓扑序。输入格式是:第一行读入n,接下来n行,第i1行表示有由i指向其他点的边,以0结尾。(直接一个0就是它没有连向任何点&am…...
青海公司网站建设哪家快/网站搜索引擎
移动前端第一弹:viewport详解前言这次想聊聊移动开发相关的事。是的,你没有看错,一句话就可以开始你的移动前端开发。你心里一定在想,什么话这么酷,能够瞬间带入到移动前端开发的世界。但其实它一点也不新奇࿰…...