ADB命令学习

ADB全称Android Debug Bridge ,“安卓调试桥梁”连接Android和电脑通信的桥梁。
市面上常见的手机助手,底层调研的都是ADB命令行。
C/S架构命令行工具,客户端和服务端都在PC本地
三部分
1、客户端,运行在PC机上client,可以通过它对Android的应用进行安装卸载和调试。
2、 服务器,运行在PC机上server,负责管理client和手机端的通信。服务端用来接收客户端的请求,并发送给手机端。
通信原理:
启动ADBserver以后,在win系统中启动了adb.exe进程,进程默认监听5037端口。
客户端通过这个端口接发送请求,被进程监听到,发送给Android端adbd进程。adbd进程执行shell命令。讲结果通过5037端口返回给server,server返回给客户端。
3、手机端或者是模拟器。

ADB命令行 常用命令

ADB命令类:

#adb version查看版本
C:\Users\**>adb version
Android Debug Bridge version 1.0.31

 #adb devices 查询现在正在连接的设备状态。设备列表。
C:\Users\**>adb devices
List of devices attached
127.0.0.1:62001 device

#device设备状态正常;offline设备出现异常;unknown设备没有连接

#获取设备状态
C:\Users\**>adb get-state
device

#启动和关闭adb server
通常两条命令一起用,启动abd
adb kill-server
adb start-server

#查询andriod系统日志打印
#locat,可以实时捕捉系统中的log信息。
adb logcat|grep ***
adb bugreport #打印错误异常部分
#建议重定向到一个文件去查看
adb bugreport >> d:\bugreport.log



#安装apk,从pc中的路径往手机中装
adb install path
adb install -r path  #-r覆盖安装

#卸载
adb uninstall 包名
adb uninstall  -k 包名  #卸载且不删除用户数据

#将pc本地上的文件推到Android设备上
adb push 本地路径 手机路径

adb push E:\appium\Autohome760.apk /sdcard/
1965 KB/s (18402338 bytes in 9.145s)

#进入/退出adb shell 
adb shell
exit

#注意权限,复制系统权限的目录下的文件,需求root权限,并先对系统的文件系统进行挂载为可读写!!!!
#获取root权限,并挂载系统文件为可读写状态。
adb root,adb remount

#挂载系统目录,如果需要对这个目录进行读写就需要重新挂载
命令:mount -o remount,rw /system/

#将Android设备上的文件或文件夹复制拉到本地
adb pull 手机路径 本地路径
*****练习:
adb push E:\appium\Autohome760.apk \sdcard\
报错:Read-only file system
接着被自己气死,一直找不到问题的根源。后来发现,Linux下路径应该是这么写/sdcard/!!!!!

ADB shell命令类:

实际上是执行的安卓手机的adb命令。
这些命令被放在/system/bin 目录下

pm : package manager
#查看包名(域名的倒叙写法)
#列出所有包名pm list package 
C:\Users\*>adb shell pm list package 
package:com.android.soundrecorder
package:com.android.defcontainer
。。。。。。。

#筛选包
C:\Users\*>adb shell pm list package|findstr autohome
package:com.cubic.auto

#列出所有第三方的包名:pm list package -3

C:\Users\*>adb shell pm list package -3
package:com.android.systemui
package:com.cubic.auto

#pm list package 
-f :列出应用包名,及对应的apk名称,存放位置
-s :列出系统应用
-i :应用包的来源
adb shell pm list package -f -3 -i 

pm path 包名
列出对应包的apk位置

pm dump +包名
#列出对应包的dump信息

#在Android里安装包。pm install
root@android:/sdcard # pm install /sdcard/Auto.apk /sdcard/
pm install /sdcard/Auto.apk /sdcard/
        pkg: /sdcard/Auto.apk
        ver: /sdcard/
Success

#卸载
pm uninatall

#清楚应用数据
pm clear

#设置应用安装的位置
pm set-install-location [0:自动,1:安装在手机内部 2:安装在手机外部存储]
pm set-install-location  #获取安装位置
am: Activity manager
#am:Activity manager

#启动一个活动am start -n 包名./活动名
root@android:/ # am start -n com.android.camera/.Camera
am start -n com.android.camera/.Camera
Starting: Intent { cmp=com.android.camera/.Camera }

#先停掉已启动的该应用,再重启一个该应用
am start -S 

#等待应用完全启动完成后再返回结果,常用属性
am start -W

#启动手机的功能action,用-a属性。
am start -a android.intent.action.CALL -d tel:10086  #打电话
am start -a android.intent.action.VIEW -d http://baidu.com
#用手机自带浏览器打开百度

#退出app
am force-stop 包名

#启动一个服务
am atartservice

#发送一个广播
am broadcast
input 向Android设备发送按键事件
#模拟手机键盘发送事,在搜索栏中输入“111”,点击回车搜索;

#发送文本内容,不能发送中文
input text "111"

#点击回车键
input keyevent 66 #KEYCODE_ENTER

#1:KEYCODE_MENU; 3:KEYCODE_HOME ;4:KEYCODE_BACK ;26:KEYCODE_POWER  66:KEYCODE_ENTER

#对屏幕发送一个触摸事件
input tap 坐标
input tap 650 100

#滑屏
input swipe 起点坐标 终点坐标
input swipe 100 300 600 300  #右滑
input swipe 600 700 100 700   #左划

input swipe 300 250 300 800    #下拉刷新
input swipe 300 500 300 50     #滚动
#截图
screencap -p /sdcard/a.png
#退出adb shell
C:\Users\***>adb pull /sdcard/a.png D:\
2397 KB/s (1027502 bytes in 0.418s)
#获取设备分辨率
adb shell wm size
#monkey
adb shell monkey
#获取系统默认输入法
adb shell setting get system screen_off_timeout
#切换成搜狗输入法
adb shell setting put system 
#获取屏幕休眠时间
adb shell setting get system screen_off_timeout
#修改休眠时间,1分钟
adb shell setting put system screen_off_timeout 60000

#获取wifi状态
wifi_on  #1打开 0是关闭
adb shell setting put global wifi_on 
#adb shell svc用来控制电源管理,wifi开关,数据开关
adb shell svc wifi enable/disable
adb shell svc data disable  #关闭所有网络数据
adb shell svc power stayon #设置屏幕常亮

#飞行模式
airlpane_mode_on
#dump--输出内存的堆栈信息
#dumpsys,默认打印出当前系统所有service信息:获取设备分辨率,获取设备电池信息,获取cpu信息,获取内存信息,获取activity信息,获取package信息,获取通知信息,获取wifi信息
#获取activity信息,打印出包名和活动名
adb shell dumpsys activity |findstr Focuse
adb shell dumpsys activity |grep Focuse

Linux:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值