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工具常用指令和使用情形分析的更多相关文章
- Adb工具常用操作-转(二)
一. PC与模拟器或真机交换文件(adb pull和adb push) 在开发阶段或其他原因,经常需要将PC上的文件复制到模拟器或真机上,或将模拟机和真机上的文件复制到PC上.使用adb pull和a ...
- Adb工具常用操作(一)
一.启动或关闭server 1.3 Android SDK中的常用命令行工具 在<Android SDK安装目录>\tools目录中带了很多命令行工具.虽然一般的开发人员并不需要完全掌握 ...
- shell分析日志常用指令合集
数据分析对于网站运营人员是个非常重要的技能,日志分析是其中的一个.日志分析可以用专门的工具进行分析,也可以用原生的shell脚本执行,下面就随ytkah看看shell分析日志常用指令有哪些吧.(log ...
- ADB常用指令
adb 命令是adb程序自带的一些命令:adb shell则是调用Android系统的命令,Android系统特有的命令都放在Android设备的/system/bin目录中 MonkeyRunner ...
- 从虚拟机指令执行的角度分析JAVA中多态的实现原理
从虚拟机指令执行的角度分析JAVA中多态的实现原理 前几天突然被一个"家伙"问了几个问题,其中一个是:JAVA中的多态的实现原理是什么? 我一想,这肯定不是从语法的角度来阐释多态吧 ...
- Linux 任务管理 && 常用指令
A.linux死机 转自:https://www.deleak.com/blog/2010/10/20/sysrq/ linux死机了怎么办? 曾经啊,对着键盘上 Print Screen/SysRq ...
- redis基础:redis下载安装与配置,redis数据类型使用,redis常用指令,jedis使用,RDB和AOF持久化
知识点梳理 课堂讲义 课程计划 1. REDIS 入 门 (了解) (操作) 2. 数据类型 (重点) (操作) (理解) 3. 常用指令 (操作) 4. Jedis (重点) (操作) ...
- 2.SDK目录结构和adb工具及命令介绍
安卓开发学习笔记 1.安卓开发之环境搭建 2.SDK目录结构和adb工具及命令介绍 1.SDK目录介绍: ******************************** add-ons:Androi ...
- ImageMagick常用指令详解
Imagemagick常用指令 (ImageMagick--蓝天白云) (ImageMagick官网) (其他比较有价值的IM参考) (图片自动旋转的前端实现方案) convert 转换图像格式和大小 ...
随机推荐
- boost::asio::socket tcp 连接 在程序结束时崩溃。
刚开始的时候一直不知道怎么回事,不过幸好我有在每个class 的析构时都打印一条信息. 这个时候发现我的一个tcp_connection (就是自定义的一个连接类) 在最后才被析构. 所以感觉这里可能 ...
- 配置ActiveX控件在网页中下载安装
先检查客户端浏览器是否安装了ActiveX控件,如果没有安装ActiveX,就需要先给浏览器提示下载并允许安装.否则就直接使用该ActiveX控件.我们可以使用CodeBase来满足我们的要求:下面是 ...
- Jmeter-获取响应结果中参数出现的次数
在测试中,有时候会遇到要统计响应结果中某个参数出现了多少次,如果量级很大,一个一个数不太现实,下面讲一下实现自动打印出该参数出现的次数的方法. 例如我的响应信息为:{"ip":&q ...
- CSS中的相对定位和绝对定位
1.元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left,right,bottom,top这些偏移属性都是没有效果的, 使用相 ...
- 关于oracle的相关基础语句
----给表的字段添加描述COMMENT ON COLUMN 数据库名称.表名.表字段 IS '字段描述'; ---设置自动增长 CREATE SEQUENCE emp_sequence INCREM ...
- jquery常用正则表达式
1.邮箱验证正则表达式:/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/ 2.手机验证正则表达式:/^ ...
- 【EF学习笔记05】----------操作内存中的数据
SingleOrDefault实验 //SingleOrDefault实验 using (var db = new Entities()) { var classes = new Classes() ...
- OAuth2集成
目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题,OAuth就是干这个的,OAuth2是OAuth协议的下一个版本,相比OAut ...
- oracle中SQL根据生日日期查询年龄的方法
方法:SELECT Trunc(MONTHS_BETWEEN(SYSDATE,BIRTH_DATE)/12) FROM 某表 Trunc函数在这里对带有小数位数的数字取整数部分: SYSDATE为or ...
- iOS学习笔记(5)— UITextField
UITextField详解 一.基本属性 1.创建文本输入框 UITextField*textField=[[UITextField alloc]initWithFrame:CGRectMake(10 ...