ADB工具常用指令和使用情形分析
一、ADB常用命令:(不需要进到设备,也就是:不需要执行adb shell)
adb devices 列出所有的已连接的设备
adb kill-server 关闭adb
adb start-server 打开adb(和上述 adb kill-server 相对应的)
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后可执行的指令
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小时内的进程使用
adb shell am 命令是在cmd命令行中,通过显式指令来启动Activity/Broadcast/Service等
三、 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文件路径,则斜杠或者反斜杠都是一样的;如果代表的是网络文件路径,则必须使用斜杠;