ADB入门及常用命令.doc_第1页
ADB入门及常用命令.doc_第2页
ADB入门及常用命令.doc_第3页
ADB入门及常用命令.doc_第4页
ADB入门及常用命令.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ADB入门及常用命令1ADB介绍1.1什么是ADBADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.l adb client从图中,我们知道client是运行在PC端的,每当我们发起一个adb命令的时候,就会开启一个client程序。当然,当我们开启DDMS或者ADT的时候,也会自动创建client。当我们开启一个client的时候,它首先会去检测后台是否已经有一个server程序在运行着,否则会开启一个adb-server进程。所有的client都是通过5037端口与adb-server进行通信的。l adb daemon(adbd)从图中,我们知道daemon是作为一个后台进程运行在模拟器/真实Android设备中的。daemon使用端口的范围是5554-5585,每个模拟器/设备连接到PC端时,总会开启这么一个后台进程,并且为其分配了两个连续的端口,比如:Emulator 1, console: 5554Emulator 1, adb: 5555也正因为每个设备都分一组两个端口,也已adb连接手机的最大数量为16。说回端口的作用,在这两个端口中,其中偶数端口是用于server 与设备进行交互的,可以让server直接从设备中读取数据,而奇数端口是用来与设备的adbd进行连接通信的。l adb server从图中,我们同样可以知道,server也是作为一个后台的程序运行在PC端的,他负责管理client进程以及adb daemon之间的通信。当一个server开启的时候,他会自动绑定并且监听5037端口,接收client通过该端口发送过来的命令。同时server还会对5555-5585间的奇数端口进行扫描,进行对已连接设备的定位。1.2主要功能 运行设备的shell(命令行) 管理模拟器或设备的端口映射 计算机和设备之间上传/下载文件 将本地apk软件安装至模拟器或android设备 查看android设备log2常用命令 adb start-server启动adb服务,如果它没启动的话 adb connect device-ip-address连接到指定的ip,这个通常配合wifidebug adb kill-server关闭服务 adb devices查看所连接的设备以及设备所对应的序列号从上图中,我们看到了设备有的两种状态,其实执行该命令,可能返回的状态有三种:I. device 设备已经成功连接到了adb-serverII. offline 设备并没有连接到adb或者没有响应III. no device 并没有设备/模拟器连接 adb install -r xxxx.apk安装app,需要注意的是如果连接了两台设备,则会报错,此时可以添加-s serialNumber来处理 adb uninstall packagename卸载app,有时候在手机上卸载App会出现数据清理不干净,导致App再也装不上了,这个时候可以敲命令来卸载,需要注意的是如果连接了两台设备,则会报错,此时可以添加-s serialNumber来处理 *使用logcat查看日志 Android日志系统提供了从众多应用程序和系统程序中收集和查看调试信息的机制,这些信息被收集到一系统循环缓冲区中,可以 logcat 命令查看和过滤。使用 logcat 命令$ adb logcat如果是在远程shell中可直接使用命令:# logcat选项:-bbuffer 指定要查看的日志缓冲区,可以是system,events,radio,main. 默认值是system和main。-c清楚屏幕上的日志.-d输出日志到屏幕上.-ffilename 指定输出日志信息的filename ,默认是stdout .-g输出指定的日志缓冲区,输出后退出.-ncount 设置日志的最大数目count .,默认值是4,需要和 -r 选项一起使用。-rkbytes 每kbytes 时输出日志,默认值为16,需要和-f 选项一起使用.-s设置默认的过滤级别为silent.-vformat 设置日志输入格式,默认的是brief 格式,要知道更多的支持的格式,参看Controlling Log Output adb shell进入shell环境 adb shell pm clear packagename清除应用的数据 adb shell dumpsys activity top查看栈顶Activity,可以用来获取包名,可以用来查看其它app的包名 adb shell ps查看进程信息 adb shell pm list packages -f查看所有已安装的应用的包名 adb shell dumpsys activitydumpsys系列命令可以帮助我们查看各种信息am的状态 Activity Manager State adb shell dumpsys package包信息 Package Information adb shell dumpsys meminfo内存使用情况Memory Usage adb pull remotelocal从手机复制文件出来,比如把Crash日志写在SD卡上,再pull到电脑上 或者 pull ANR的trace日志 adb push localremote向手机发送文件,比如测试热修复补丁eg. adb push foo.txt /sdcard/foo.txt adb shell cat /proc/cpuinfo查看手机CPU,可以看到手机架构(eg.ARMv7) 和几核处理器可以帮助我们选择so库,排查手机cpu架构相关的问题 adb shell df获取手机磁盘空间 adb version查看adb版本 adb help进入adb帮助界面 adb reboot重启设备3连接机顶盒2.1LAN口连接 网线电脑连接机顶盒LAN口 本机安装adb,打开dos页面 adb connect 10.16.52.88连接机顶盒2.2串口连接 电脑串口连接机顶盒 电脑设备管理器查看端口(如:COM3) 使用securecrt工具连接COM3端口即可连接机顶盒2.3Telnet端口映射连接1. 使用Xshell工具或者securecrt工具远程连接服务器2. 服务器adb配置环境变量:/etc/profile文件增加:export ADB_HOME=/usr/local/sunlight/platform-toolsexport PATH=$ADB_HOME:$PATH3. 连接之后执行:telnet 52.16.52.99(机顶盒的IP),进入端口映射命令行4. 执行iptables -t nat -A port_forward -j DNAT -i eth2.2 -p tcp -dport 5050 -to-destination 10.16.52.88:5555(使用linux中的iptables完成端口转换)-t nat:指定表名为nat-A port_forward:在所选择的规则的链末添加一条port_forward-j DNAT:采取的动作为dnat动作(修改目标IP)-i eth2.2:指定进入的网络接口为eth2.2-P tcp:指定tcp协议-dport 5050:目标端口为5050-to-destination 10.16.52.88:5555:把eth2.2 ip转换成10.16.52.88:55555. adb connect 52.16.52.88:5050就可以连接机顶盒4机顶盒中ADB实例4.1查看机顶盒文件ls命令查看机顶盒内部文件(/data/data目录下可查看系统安装程序。/data/app目录可查看第三方应用安装文件)4.2使用logcat查看日志查看机顶盒的log并保存:logcat|grep-vHiMediaPlayer|grep-vHiPlayer|grep-vMMCP|grep-vandroidx|grep-vHiMediaPlayerManage|grep-vHiPlayer-FFMpeg /sdcard/iepglogcat.txtadb pull /sdcard/iepglogcat.txt /tmp4.3安装和卸载应用应用程序1 iepg安装和卸载pm install /mnt/sda1/sda/com.sunlighttech.iepg.apk(u盘安装)adb install /root/com.sunlighttech.iepg.apk (服务器本地安装) pm uninstall /data/data/com.sunlighttech.iepg( Shell界面卸载)adb uninstall com.sunlighttech.iepg.apk (服务器本地卸载)2 ilauncher安装和卸载pm install /mnt/sda1/sda/com.sunlighttech.ilauncher.apk(u盘安装) adb install /root/com.sunlighttech.ilauncher.apk(服务器本地安装) pm uninstall /data/data/com.sunlighttech.ilauncher( Shell界面卸载) adb uninstall com.sunlighttech.ilauncher (服务器本地卸载)3 第三方app安装和卸载 pm install /mnt/sda1/sda/com.xiyuegame.tvgame10.apk(u盘安装)adb install /root/sweepminer_1.0.0_1.apk (服务器本地安装) pm uninstall /data/data/com.xiyuegame.tvgame10( Shell界面卸载) adb uninstall com.xiyuegame.tvgame10 (服务器本地卸载)5进阶:adb简单的shell和bak脚本截取电视屏幕图片:ECHO OFFadb kill-serveradb connect 10.16.52.88adb shell /system/bin/screencap -p /sdcard/screen.pngset datetime=%date:,4%date:5,2%date:8,2%Time:0,2%Time:3,2%adb shell mv /sdcard/screen.png /sdcard/Screen_%datetime%.pngadb pull /sdcard/ E:adbpictureadb shell rm /sdcard/*.pngpython -c import time; time.sleep(5)机顶盒连接adb:#!/bin/shHOST_IP=mysql -uroot -N sdb20 -e select terminalipaddress from terminal where isonline=1 and mcid=10002 USERNAME

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论