你确定已经掌握了adb的使用?-阿里云开发者社区

开发者社区> 开发与运维> 正文

你确定已经掌握了adb的使用?

简介:

前言

ADB是android debug bridge的缩写,负责计算机与Android设备的几乎所有通信和协作,可以认为是连接两者的桥梁。

ADB源码

用了那么久的adb,你知道adb源码在哪里吗?那你又有看过看过adb源码吗?

没关系,链接如下:
http://androidxref.com/8.0.0_r4/xref/system/core/adb/
ADB命令分类

详细使用可查看:
http://adbshell.com/commands/adb-forward

ADB Debugging

 ●  adb devices
 ●  adb forward
 ●  adb kill-server

Package Manger

 ●  adb install
 ●  adb uninstall
 ●  adb shell pm list packages
 ●  adb shell pm path
 ●  adb shell pm clear

Wireless

 ●  adb connect
 ●  adb usb

File Manager

 ●  adb pull
 ●  adb push
 ●  adb shell ls
 ●  adb shell cd
 ●  adb shell rm
 ●  adb shell mkdir
 ●  adb shell touch
 ●  adb shell pwd
 ●  adb shell cp
 ●  adb shell mv

Network

 ●  adb shell netstat
 ●  adb shell ping
 ●  adb shell netcfg
 ●  adb shell ip

Logcat

 ●  adb logcat
 ●  adb shell dumpsys
 ●  adb shell dumpstate

Screenshot

 ●  adb shell screencap
 ●  adb shell screenrecord [4.4+]

System

 ●  adb root
 ●  adb sideload
 ●  adb shell ps
 ●  adb shell top
 ●  adb shell getprop

 ●  adb shell setprop

ADB命令的常见使用场景

01

某日产品经理小李找到你说:“小王,给我来几张我们的APP截图。” ,只听见小王麻溜敲打着键盘,使用adb shell screencap /sdcard/xiaoli/001.pngadb pull /sdcard/xiaoli/001.png

在这个场景里小王使用到adb shell screencap 截屏adb pull 文件传输两个命令。

02

我们的APP要上线了,但是因为项目十分庞大,说不准我们的小王写的代码没有把Log关闭,怎么办呢?来吧,在命令行里看一下

adb logcat | grep com.xxx.xxx

接下来你就在APP里乱点把,看看有没有一些尚未关闭的Log。

在Android逆向工程中,我们也可以通过这种方式,利用那些大意而留下来的Log信息进行相关的逻辑分析。

03

某日,那个叫做小李的产品经理又找到你说:“小王,你帮我在电脑上下载了一个APP装到手机上”

二话不说,小王下载好app使用adb install xxx.apk进行安装。

But,出问题了,需要指定手机。原来,小王的电脑上连接了两个手机。

adb devices大显身手,原来小李的手机编号是"Sx1xxx2xxxx"。

接下来,小王使用adb -s Sx1xxx2xxxx install xxx.apk

04

短平快的教你通过局域网WIFI连接手机。

 ●  前提需要USB连接手机。
 ●  adb tcpip 5555
 ●  adb connect #.#.#.#(你手机的IP地址)

 ●  拔掉USB,你已经成功通过WIFI连接了。(其实背后是通过TCP协议来实现的)

05

没法编故事了……

安装APK
adb install xxx.apk

清除已经安装的APK并安装新的APK
adb install -r test.apk

卸载APK
adb uninstall package_name

清除指定APP的缓存
adb shell pm clear package_name

输出指定包名APP的安装位置
adb shell pm path package_name

输出手机中所有的包名
adb shell pm list packages

查看指定包名的内存信息
adb shell dumpsys meminfo package_name

原文发布时间为:2018-11-7
本文作者:我是吸血鬼
本文来自云栖社区合作伙伴“安卓巴士Android开发者门户”,了解相关信息可以关注“安卓巴士Android开发者门户”。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章