安卓原生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,
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