站点图标 姿势小王子

安卓adb shell常用的命令

安卓原生11系统是支持网络调试,但是国内的魔改安卓可能会有阉割。除了linux常用的ls,cd,cat,grep,cut等等,还有很多adb shell命令,不管是有root权限,安卓搞机,使用tasker做定时任务,还是fooview等等,没有root权限,appops,冰箱等等启动设置,很多时候都是需要用到adb命令的。

1、不用电脑使用网络adb的方法,一个就是termux安装linux发行版,然后安装adb。一个是下载应用remote adb shell

备用下载:http://download.zsxwz.com/d/16220046-42266161-1452e1(访问密码:zsxwz)

如果有root权限,终端su即可。

电脑安装adb应用之后网络连接:

adb tcpip 5555
# 连接网络设备
adb connect 192.168.xxx.xxx
# 查看设备
adb devices
# 断开连接
adb kill-server
# 查看帮助
adb --help

2、可以参考的文档:

Android 调试桥 (adb)  |  Android 开发者  |  Android Developers

ADB Commands

https://bbs.zsxwz.com/thread-2163.htm

3、一些常用的命令,如果是用remote adb shell或者终端(不是termux),就不需要adb shell。很多命令都是比较强大的,只是列几个小例子。

install/uninstall,在设备上安装 APK。

adb install path_to_apk

pull和 push 命令将文件复制到设备或从设备复制文件。

# 从手机中复制某个文件或目录
adb pull remote local

#某个文件或目录(及其子目录)复制到手机
adb push local remote

am (Activity manager)活动管理器,比如:

包名和启动Activity可以使用一个木函查询,详细的Activity可以使用mt管理器查询。

# 比如启动服务
adb shell am start -a android.intent.action.VIEW

# 几个常用的参数
force-stop #强制停止
start # 启动
display-density dpi	#替换设备显示密度
display-size [reset | widthxheight]	#替换设备显示尺寸

pm(package manager)软件包管理器。

# 比如卸载某app
adb shell pm uninstall com.example.MyApp

# 常用的参数:
list packages 
# 列出所有已安装的软件包

list users 
#列出所有用户。比如一加等等手机的双开空间,手机新建的访客都是users。
remove-user 
#删除用户,双开空间软件卸载后,用户并没有删除,可以自己手动删除。
create-user
# 创建新用户

clear 
#删除与软件包关联的所有数据。
uninstall
# -k:移除软件包后保留数据和缓存目录。

enable
# 启用
disable
# 冻结

screencap截图:

adb shell screencap /sdcard/screen.png

screenrecord,录制视频。如果不手动停止,到三分钟或 --time-limit 设置的时间限制时,录制将会自动停止。不支持在录制时旋转屏幕。

adb shell screenrecord /sdcard/demo.mp4

# 常用参数
--size widthxheight
# 设置视频分辨率
--bit-rate rate	
#设置视频的视频比特率(以 MB/秒为单位)
--time-limit time
#设置最大录制时长

dumpsys(dump system)比较强大的系统服务查询。

# 查看当前系统所支持的dump服务
adb shell dumpsys -l

# 比如电池信息
adb shell dumpsys battery

adb shell dumpsys battery set status 1
#设置电池为非充电状态
adb shell dumpsys battery set status 2
#设置电池为充电状态
# 一些就手机安装linux做服务器之后,又不能一直充电,就可以使用这个方法来自动充放电,保护电池。

adb shell dumpsys battery set level 100
#设置电量百分比
adb shell dumpsys battery unplug
#设置断开充电
# 可以拿来做伪装电量。

adb shell dumpsys battery reset
# 恢复

wm(windows manager)窗口管理器,可以设置一些屏幕参数。

# 查看分辨率
adb shell wm size

# 查看dpi
adb shell wm density

getprop/setprop 查看或者设置系统属性。

getprop命令的作用就是从系统的各种配置文件中读取一些设备的信息init.rc,default.prop,/system/build.prop。

setprop可以对手机一些配置进行设置,当然这些配置必须是可写的。

# 比如查看系统版本
adb shell getprop ro.build.version.release

# 设置开启网络adb调试。
adb shell setprop service.adb.tcp.port 5555

settings, 查看和设置系统设置,各种手机里看得见看不见的设置。

# 查看系统设置
adb shell settings list system
adb shell settings list global
adb shell settings list secure

# 解决原生系统数据或者wifi的问题,而且新版的chrome浏览器明明已经联网但是却显示没有网络的问题。
adb shell settings put global captive_portal_mode 0 
adb shell settings put global captive_portal_http_url http://www.qualcomm.cn/generate_204 
adb shell settings put global captive_portal_https_url https://www.qualcomm.cn/generate_204

#小米部分手机设置120刷新率
adb shell settings put system min_refresh_rate 120
adb shell settings put system peak_refresh_rate 120

# 所有应用隐藏导航栏
adb shell settings put global policy_control immersive.navigation=*

input,模拟按键/输入。

# 打卡浏览器
adb shell input keyevent 64

# 点击
input tap x y
# 滑动
adb shell input swipe x y x y

# 输入文本
adb shell input text hello
# 长按
input press 300 1000

logcat,查看日志,方便提交bug。

adb logcat "*:W"

# 日志输出级别
V —— Verbose(最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高,啥也不输出)

# 清理日志
adb logcat -c

getenforce/setenforce,查询和设置SELinux状态。

getenforce
#查询,Permissive打开,enforce为关闭 

setenforce 0
#设置,0为打开,1为关闭

reboot,重启。

#重启
adb reboot

#重启到recovery模式
adb reboot recovery

#重启到bl模式
adb reboot bootloader
退出移动版