adb常用指令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了adb常用指令相关的知识,希望对你有一定的参考价值。
参考技术A 1、adb devices 获取模拟器或物理手机设备2、adb install 安装软件
adb -s emulator-5554 install E:\CalculatorOfTwoNum.apk 连接了多个设备
adb install -r E:\CalculatorOfTwoNum.apk 覆盖安装已有的软件
adb install E:\CalculatorOfTwoNum.apk只有一个设备且未安装
3、adb uninstall 卸载软件
adb -s emulator-5554 uninstall com.example.calculatoroftwonum 卸载指定设备的软件
adb -s emulator-5554 shell pm uninstall -k com.example.calculatoroftwonum 保留配置及缓存
4、adb pull 把文件从手机设备发送到本地计算机
adb pull /sdcard/tmp/error.data d:/
adb -s emulator-5554 pull /sdcard/tmp/error.data d:/ 连接了多个设备个
5、adb push 把文件从本地计算机发送到手机设备
adb -s emulator-5554 push d:/example/error.data /sdcard/pass
6、adb shell ls 显示当前目录的所有内容
7、adb shell 查看手机安装的应用
su root
cd /data/data
ls
8、adb shell dumpsys battery 查看电量信息
9、adb shell dumpsys wifi 查看无线网络信息
10、adb shell dumpsys power 查看电源信息
11、adb shell dumpsys telephony.registry 查看电话相关信息
12、adb shell cat /proc/cpuinfo 查看CPU硬件信息
13、adb shell cat /proc/meminfo 查看内存信息
14、adb shell cat /proc/iomen 查看I/O内存分区的信息
15、adb shell cat /system/build.prop | findstr "ro.product.model" 获取手机型号
16、adb shell cat /proc/cpuinfo | findstr "Processor" 获取手机处理器信息
17、adb shell cat /proc/meminfo | findstr "MemTotal" 获取手机内存信息
18、adb shell dumpsys windows | findstr "Display" 获取手机屏幕分辨率信息
19、adb shell getprop ro.build.version.release 获取系统版本信息
20、adb shell cat /proc/version 获取内核版本信息
21、adb shell getprop gsm.operator.alpah 获取运营商信息
22、adb shell getprop gsm.network.type 获取网络类型信息
23、adb shell dumpsys iphonesubinfo | findstr "Devices ID" 获取手机串号信息
24、adb shell df 获取系统分区信息
25、adb shell dmesg 获取linux内核环形缓冲区信息
26、adb shell dumpstate 获取系统当前状态
27、adb get-serialno 获取设备序列号
28、adb get-state 获取设备当前状态
29、adb logcat 查看日志信息
adb logcat *:W 输出优先级大于警告级的信息
adb logcat -b main 查看主缓冲区信息
30、adb bugreport 查看启动过程日志
31、adb jdwp 列出指定设备的IDWP相关进程的ID
32、adb start-server 启动adb服务
33、adb kill-server 关闭adb服务
34、adb forward 将本机的端口重定向到模拟器或者设备端口上
adb forward tcp:2211 tcp:5566
35、am 模拟系统行为
adb shell am start -n com.sec.android.app.camera/.Camera 启动照相功能
adb shell am broadcast -a android.intent.action.BATTERY_CHANGED --ei "level"5 --ei "scale" 100 向手机发送模拟手机低电环境的信息
36、pm 模拟行为或者查询设备上的应用
adb shell pm list packages
37、向模拟器发送短信、打电话
20181021141213.png 20181021141213.png 20181021141252.png 20181021141252.png
cmd telnet localhost 5554
20181021141306.png 20181021141306.png
network speed 14.4:20 设定网速
network delay 5 设定网络延时5毫秒
network capture start/stop 开始/停止数据包的捕获
windows scale 0.5 修改模拟器大小比例
quit退出
39、android list targets 查看模拟器的Android系统版本
40、android create avd 创建模拟器
android create avd --name Android4.4.2 --target 2 --abi armeabi-v7a
41、android move avd -n Android4.4.2 -r mytestdev4.4.2 重命名模拟器
42、android list avd 查看模拟器列表
43、android delete avd -n hhh 删除模拟器
44、emulator -avd Android4.4.2 启动模拟器
ADB工具常用指令和使用情形分析
一、ADB常用命令:(不需要进到设备,也就是:不需要执行adb shell)
adb devices 列出所有的已连接的设备
adb kill-server 关闭adb
adb start-server 打开adb
adb devices 列出识别的设备
adb shell 连接android终端,可在其中进行一系列的操作(基于Linux的各种操作)
adb reboot 手机重启(前提是:设备已经进入调试模式)
adb remount 授权(一般是针对root版本,对于debug版本是不能授权的)
adb logcat 打印所有的log日志
adb push 将PC端文件推送到android设备端
adb pull 将android设备端文件“拉回”到PC端;[设备端文件路径,路径分隔用:/] [PC端路径,路径分隔用:\]
adb install -r xxx.apk (reinstall) 软件重装;如果软件之前在系统中已安装过,则使用重新安装指令
adb install -s xxx.apk 将软件安装在SD卡上,而不是内部存储
adb uninstall -k xxx.apk (keep) 卸载软件,但保留用户数据
adb root 获取root权限
adb shell am 命令是在cmd命令行中,通过显式指令来启动Activity/Broadcast/Service等
二、adb shell后可执行的指令
adb shell screencap –p ... 截取当前屏幕内容并保存
adb shell --> getevent|grep event0 连接ADB后,查看按键响应
adb shell pm ... 列出设备中的权限、应用程序信息
adb shell dumpsys activity (ActivityManager 系统服务的相关信息,包括android系统四大组件信息)
adb shell dumpsys meminfo 内存使用情况
adb shell dumpsys procstats -hour 3 查看过去的3小时内的进程使用
三、 Android设备安装应用程序apk时,adb install和adb push的比较
在使用YunOS时,遇到不兼容的问题;需要首先保证apk为指定签名文件签名后的apk文件;其次再去找其他问题。
使用YunOS时,push APK的做法:
1. 保证是root版本,需要烧录进root版本的boot文件(对应为userdebug版本)
2. adb shell 进入文件系统,/system/app,进入指定的apk文件目录,执行:rm -rf arm/(为啥要删除?)
3. 执行:adb push ... 将指定文件拷贝到指定目录并换名字
4. adb reboot
为什么要是root版本?在push文件时,其前提就是文件目录可读可写。
对于YunOS系统中的应用:在第一次安装到设备中,使用:adb push 方式安装apk;再一次安装时,可以选择 adb install 即可实现成功安装。
其他安装应用程序的方式:
adb install -r ...(指定地址的apk文件)
比较:
使用push的方式安装应用程序,会将系统原先存在的apk覆盖。
adb push 能够指定安装目录。比如执行"adb push xxx.apk system/app" 后,xxx.apk被安装到了system/app目录下,此目录下的软件为system application。
adb install 用此命令安装的软件位于 data/app 目录,则为user application。
四、Android设备在WIFI环境下的调试步骤
有些时候不能使用USB端口调试逻辑,转换思路:使用WIFI调试方式进行Logcat输出。
1. 使用数据线,打开调试模式;
2. PC端获取设备后,执行:adb tcpip 5555 (打开5555端口,并占用)
3. Android设备端连接与PC同一局域网的热点,并查看IP地址(举例:10.0.0.81);
4. PC端执行:ping 10.0.0.81,查看是否返回数据;
5. 执行:adb connect 10.0.0.81
经过上述5个步骤,就可以是用WIFI进行调试。
五、系统中斜杠“/”和反斜杠“\”的含义和区别
Unix使用斜杠作为路径分隔符,而Web应用中最先使用Unix系统,所以目前所有的网络地址都采用斜杠作为分隔符。
Windows由于使用斜杠作为DOS命令提示符的参数标识;为了避免混淆,采用反斜杠作为路径分隔符。目前Windows系统上的文件浏览器都是采用反斜杠作为路径分隔符。
结论:
1. 浏览器地址栏网址使用斜杠;
2. Windows文件浏览器上使用反斜杠;
3. 出现在HTML url()属性中的路径,指定的路径是网络路径时,必须使用斜杠;
4. 出现在普通字符串中的路径,如果代表的是Windows文件路径,则斜杠或者反斜杠都是一样的;如果代表的是网络文件路径,则必须使用斜杠;
以上是关于adb常用指令的主要内容,如果未能解决你的问题,请参考以下文章