首先应该知道一下adb命令和adb shell命令的区别:

1.adb
adb命令是PC端adb程序自带的命令;

ADB的全称为Android Debug Bridge,字面意思就是安卓调试桥,ADB是一个“客户端-服务器端“的关联程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.ADB是android sdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备。简单点说,它是Android系统提供的一套工具,通过它,我们可以在电脑上建立一个连接到手机的通道,然后可以在电脑上向手机发送一些指令,完成一些我们需要做的工作。
它的主要功能有:
1) 运行设备的shell(命令行)
2)管理模拟器或设备的端口映射
3)计算机和设备之间上传/下载文件
4)将本地apk软件安装至模拟器或android设备

2.adb shell

简单说,adb shell 命令是调用Android系统的命令,放在安卓设备的System/bin目录下,是手机端的命令。

具体来看,Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。操作系统运行的本身其实并不需要人来控制,但人需要告诉操作系统做什么,这个交互程序,就被称为shell。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。
Android 基于 Linux,那么 Linux shell 命令在 Android 里大都也是适用的。所有以“adb shell”开头的命令,都可以先执行adb shell命令进入目标设备的Linux Shell环境,然后在目标设备的Linux Shell中再执行“adb shell”之后的命令。或者直接执行adb shell  先进入shell环境,然后再执行shell命令,就不用加adbshell了 比如:

退出shell模式:exit 或者 ctrl + D
adb 常用命令:

  • adb devices  查看连接情况和设备号

当有多设备链接时时候,执行命令会报错误

1.可以在命令前通过-s 和设备号指定设备adb -s STSDU19C25005533 shell wm densitydevices

2.如果只有一个设备和模拟器连接电脑,可以通过:adb -e 来指明是操作模拟器(Emulator); adb -d 来指明是操作设备(Device)

  • adb shell getprop ro.build.version.release  查看安卓版本号,尤其鸿蒙系统需要用到

查看应用包名:

1.打印当前运行应用的包名:

adb shell dumpsys window windows | findstr name=

adb shell dumpsys window w | findstr name=

adb shell dumpsys window | findstr mCurrentFocus

2.adb shell pm list package | findstr zhihu

3.adb shell pm list package -3 -f -i zhihu

-3(-s系统应用)表示第三方app;-f 安装来源 -i 模糊匹配

查看日志:

注意,window用 findstr;linux或者进入shell模式用grep

1.adb logcat  命令窗口直接查看所有日志,没有太大意义

2.adb logcat > D:log2.txt   将日志保存到本地

3.adb logcat -c 清除日志,一般每次保存查看前都要清理一下

4.adb logcat | findstr com.huawei.hms.ads. 查询包含findstr 后的内容

5.adb logcat | findstr com.huawei.hms.ads.  > D:log2.txt   将特定日志保存到本地

  • adb logcat -b crash >error.txt   查看直接闪退日志

  • adb bugreport > log.txt  程序意外终止

  • adb pull data/anr/traces.txt > anr_log.txt app出现anr时会在data/anr目录下生成traces.txt文件

注意:打印日志时候,常报   【写入错误】,这时候需要设置编码语言,设置为UTF-8就好了hcp显示活动页的编码,ANSI的编码是936,UTF-8是65001.执行  CHCP 65001就设置为UTF-8了。

官网地址:安卓开发日志部分

6.fc D:\off.txt D:\on.txt 比较两个文件的不同

7.adb logcat *:E ->d:\log.txt   查看E及以上日志

默认级别为V,输出人日志最低,日志级别最低

D —— Debug

I —— Info

W —— Warning

E —— Error

F —— Fatal 致命

S —— Silent(最高,啥也不输出)

安装软件:

adb install  <apk文件路径>   安装应用,apk存放在pc端

adb shell pm install <apk文件路径>  安装应用,apk存放在手机端端

adb shell pm set-install-location 0/1/2 设置应用安装位置  0:默认 1:内存 2:sdcard

adb shell pm get-install-location  获取安装位置,如图

adb uninstall <包名>  例如 adb uninstall com.ziroom.ziroomcustomer 卸载软件

adb uninstall -k <包名>  卸载软件,但保留数据

adb shell pm uninstall <包名>  卸载软件,但保留数据

adb shell pm clear <包名> 清除应用数据,执行后和新安装的一样

2.2. am命令

2.2.1.如何获取activity名

adb shell dumpsys package com.zhihu.android

adb  shell dumpsys activity | findstr mActivityComponent 可以查到对应启动的activity

2.2.2. 启动应用

adb shell am start -n com.zhihu.android/.app.ui.activity.LauncherActivity

2.2.3. 停止目标应用再启动

adb shell am start -s com.zhihu.android/.app.ui.activity.LauncherActivity

2.2.4. 等待应用完成后再启动

adb shell am start -w com.zhihu.android/.app.ui.activity.LauncherActivity

2.2.5. 启动默认浏览器并打开一个网页

adb shell am start -a android.intent.action.VIEW -d http://baidu.com

2.2.6. 启动电话拨打10086

adb shell am start -a android.intent.action.CALL -d tel:10086

2.2.7. 启动监控

启动后手机的操作都会记录
adb shell am monitor

2.2.8. 结束应用

adb shell am force-stop 包名

2.3. input命令

2.3.1. 发送文本内容

adb shell input text 123456

2.3.2. 模拟按下HOME

adb shell input keyevent KEYCODE_HOME

2.3.3. 点击屏幕上坐标为(500,500)位置

adb shell input tap 500 500

2.3.4. 从右向左滑动屏幕

adb shell input swipe 900 500 100 500

adb shell input draganddrop 500 624.5 200 624.5 1000 (拖动)

2.3.5. 长按动作

在小的距离内,较长的持续时间滑动就是长按
adb shell input swipe 500 500 501 501 2000

2.4.截屏

adb shell screencap -p /sdcard

2.5. 设置/获取手机端口号

adb shell setprop service.adb.tcp.port 5555
adb shell getprop service.adb.tcp.port

adb push D:\log5.txt  sdcard/360 将电脑d盘文件推送到手机存储/360文件夹下 注意斜杠方向

adb pull sdcard/360/sdk D:\Download 将手机文件推送到电脑

adb start-server  启动服务

adb kill-server  关闭服务

更多dumpsys知识,参考dumpsys命令用法

adb shell wm size //查看屏幕分辨率
adb shell wm density //查看屏幕密度
adb shell wm density 320 //修改屏幕密度=320ppi
adb shell wm density reset //恢复原屏幕密度

adb shell dumpsys gfxinfo com.pplive.androidphone 查看流畅度相关

adb脚本编写自动化测试(也可以用Espresso实现自动化)

@echo off
set /p a=请输入:
adb shell screencap -p /sdcard/%a%.png
adb pull /sdcard/%a%.png
echo. & pause

如果运行时发现 “ 请输入” 为乱码,是因为需要将他设置为ANSI编码格式。

常用命令

1、打电话

adb shell am start -a android.intent.action.CALL -d tel:10086

2、打开QQ

adb shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

3、打开微信

adb shell am start com.tencent.mm/com.tencent.mm.ui.LauncherUI

4、打开支付宝

adb shell am start com.eg.android.AlipayGphone/.AlipayLogin

5、杀死支付宝

adb shell am force-stop com.eg.android.AlipayGphone

6、关闭QQ

adb shell am force-stop com.tencent.mobileqq

7、点击事件

adb shell input tap 500 500

8、home键

adb shell input keyevent 3

9、返回键

adb shell input keyevent 4

10、截图(保存到sdcard)

adb shell /system/bin/screencap -p /sdcard/screenshot.png

11、录屏

adb shell screenrecord /sdcard/test.mp4

adb pull /sdcard/test.mp4 /Users/dhht/Desktop/test.mp4

12、亮屏

adb shell input keyevent 26

13、上下滑动

adb shell input swipe 700 2000 700 1000

14、左右滑动

adb shell input swipe 100 1000 1000 1000

15、拖动

adb shell input draganddrop 500 624.5 200 624.5 1000

16、等待

adb sleep 5 (等待多少秒)

查看进程

在shell模式下

1.top 查看全部运行的

2.top | grep com.pplive.androidphone  特定的

grep keyword | head -n 10  前10行

grep keyword | tail -n 10   后10行

grep keyword | sed -n "7,13p"  7-13行

获取手机界面xml:adb shell /system/bin/uiautomator dump --compressed /data/local/tmp/uidump.xml
上传xml到桌面:adb pull /data/local/tmp/uidump.xml C:/Users/13633/Desktop
————————————————

文件内容相同 值为0
不相同值为1
有一个文件不存在值为2
所以加上%errorlevel%的判断即可
@echo off
:abc
rem 你自己添加
fc file1 file2
if %errorlevel%==0 pause else (goto abc)

待整理学习

adb shell am start <package>/<activity>
例子: adb shell am start com.android.mms/com.android.mms.MainActivity
触发内存级别回调:
adb shell am send-trim-memory [--user <USER_ID>] <PROCESS>
[HIDDEN|RUNNING_MODERATE|BACKGROUND|RUNNING_LOW|MODERATE|RUNNING_CRITICAL|COMPLETE]
例子: adb shell am send-trim-memory com.android.mms RUNNING_LOW

adb 常用命令记录相关推荐

  1. adb常用命令以及使用

    adb常用命令以及使用 转载自:https://github.com/mzlogin/awesome-adb#%E5%91%BD%E4%BB%A4%E8%AF%AD%E6%B3%95 基本用法 命令语 ...

  2. APP自动化测试---adb常用命令+monkey自动化

    APP自动化测试---adb常用命令+monkey自动化 adb常用命令 adb常用命令 1.模拟器连接检查[adb常用命令] adb devices --查看当前pc连接的设备号 adb conne ...

  3. 工作中的adb 常用命令

    工作中的adb 常用命令 2017年05月08日 10:58:01 yang_zhang_1992 阅读数:2812 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.c ...

  4. html5 可以用adb 调试,ADB常用命令及作用

    这是第「32篇」分享 DemoYang(ID:Demo_YangBJ),专注于Android领域的开发者. ADB ADB全称Android Debug Bridge. ADB是一种功能多样的命令行工 ...

  5. ElasticSearch常用命令记录

    ElasticSearch常用命令记录 < - 个人学习笔记 - > 软件版本:curl -s localhost:9200/?pretty 输出中"version" ...

  6. appium之adb常用命令

    appium之adb常用命令 一.真机远程调试步骤: (非数据线操作要求需要手机和pc端在同一个路由器下) 1.将手机连接到pc端 2.adb devices  检测设备 3.adb tcpip 55 ...

  7. adb常用命令|修改build.porp文件

    转载请注明出处:http://blog.csdn.net/y22222ly/article/details/50970252 adb常用命令 功能 指令 发送广播 adb shell am broad ...

  8. [安卓逆向]android adb常用命令及使用案例

    [安卓逆向]android adb常用命令 一.调试相关 1.开启adb服务 adb start-server 2.关闭adb服务 adb stop-server 3.列出所有连接的设备 adb de ...

  9. adb 常用命令,面试必问

    本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~ adb 常用命令 一.adb 简介 二.adb 常用命令 2.1.查找真机设备 2 ...

最新文章

  1. [转]JDBC中日期时间的处理技巧
  2. 第二章 单元测试的基本概念和核心技法
  3. 卸载一直在创建还原点_Win10电脑开机一直转圈无法进入系统的解决方法
  4. html怎么改变一块区域颜色,更改HTML中所选区域的背景颜色/不透明度
  5. P2014-选课【树形dp,背包】
  6. ajax 直接向后台发送请求,通过ajax异步向后端发送请求,响应请求向前端传送json格式数据的实现思路...
  7. Mongodb存储特性与内部原理
  8. ReentrantLock的使用场景
  9. openstack部署(四)--网络配置(Networking)
  10. IIS服务器多站点 的 https证书使用443端口 解决方案
  11. 把emacs的插件和配置文件备份到github上去了。
  12. 地铁19号线首段盾构区间双线贯通
  13. “互联网+”时代,网络安全市场将达千亿级别
  14. 六个建议防止SQL注入式攻击
  15. SQL注入防御绕过和sqlmap简单介绍
  16. 移动计算为王——我眼中的下一代计算机产业
  17. 查SCI索引号和EI索引号的方法
  18. 计算机主板供电,主板供电/元器件
  19. 如何幽默的介绍php是撒,终于明白如何幽默介绍自己名字
  20. Linux基础命令,个人笔记备份

热门文章

  1. 利用Python QRCode模块快速生成二维码
  2. Universal Style Transfer via Feature Transforms 论文理解
  3. 广东计算机类211大学,211大学名单
  4. 我机器人里面的匡威照片_有哪些影视剧中的匡威鞋让人印象深刻?
  5. python 函数调用
  6. SD卡损坏了?储存卡恢复数据就靠这3个方法
  7. 佳能Canon LBP710Cx 打印机驱动
  8. 【2022CSPJ普及组】 T3.逻辑表达式(expr)
  9. GDOI2022退役记(从天上到地下)
  10. Element UI中el-calendar日历的使用及样式修改(年月可下拉选框选择)