adb 在开发中调试是很常用的命令,下面就来说说常用的adb命令。
如果指定ip 连接,一般为
,这样每次进行连接时,发现都有重复的的命令需要敲,程序员就是要减少重复工作,所以现在就将重复的命令省掉。(以下为mac下的配置的方法):
- adb conenct 172.18.xxx.xxx
别名关键字重新命令
- alias
- alias ac="adb connect $1"
- alias ad="adb devices"
- alias ak="adb kill-server"
- alias as="adb start-server"
, 或者其他以
- .bash_profile
的文件中,将最后加上
- .bash
然后重新执行
- source ./.alias_bash
,或者直接关掉终端,重新打开一个。
- source ./.bash_profile
,则可直接连接上机器,在输入
- ac 172.18.**.**
即可看到adb连接到的设备。
- ad
上面只是个例子,可以在文件
文件中添加其他的简化命令。
- .alias_bash
在使用adb连接多个设备,当想连接到某一个设备的shell时
。
- adb -s 172.18.xx.xx:5555 shell
如果是其他命令一样可以指定设备执行。例如:
- adb - s 172.18.xx.xx: 5555 install * .apk
命令:
- adb push < 电脑上的文件路径 > <设备里的目录 >
例:
- adb push~ / sr.mp4 / sdcard /
命令:
- adb pull < 设备里的文件路径 > [电脑上的目录]
例:
- adb pull / sdcard / sr.mp4~ / tmp /
命令格式:
- adb install[ - lrtsdg] < path_to_apk >
参数:
adb install 后面可以跟一些可选参数来控制安装 APK 的行为,可用参数及含义如下:
参数 | 含义 |
---|---|
-l | 将应用安装到保护目录 /mnt/asec |
-r | 允许覆盖安装 |
-t | 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=”true” 的应用 |
-s | 将应用安装到 sdcard |
-d | 允许降级覆盖安装 |
-g | 授予所有运行时权限 |
运行命令后如果见到类似如下输出(状态为 Success)代表安装成功:
- [100%] /data/local/tmp/1.apk
- pkg: /data/local/tmp/1.apk
- Success
命令:
- adb uninstall[ - k] < packagename >
命令示例:
- adb uninstall com.aaron.test
命令格式:
- adb shell am start[options] < INTENT >
例如:
- adb shell am start - n com.aaron.test / .LauncherActivity
如果想要对启动的Intent添加参数可以按照key-value形式添加。
- adb shell am start - n org.mazhuang.boottimemeasure / .MainActivity--es "url""wxtlife.com"
命令格式:
- adb shell am startservice[options] < INTENT >
例如:
- adb shell am startservice - n com.aaron.test / .MusicService
表示调起音乐服务Service。
命令格式:
- adb shell am broadcast[options] < INTENT >
可以向所有组件广播,也可以只向指定组件广播。
例如,向所有组件广播 BOOT_COMPLETED:
- adb shell am broadcast - a android.intent.action.BOOT_COMPLETED
向指定的接收器发送广播,例子:
- adb shell am broadcast - a com.aaron.action.SHOW_TIME - n com.aaron.test / .PlaySerices
如果带参数的广播则在后面加上参数的key, value 。 例如:
- adb shell am broadcast - a com.aaron.action.SHOW_TIME - es "url""wxtlife.com"
命令:
- adb shell am force - stop < packagename >
命令示例:
- adb shell am force - stop com.aaron.test
命令:
- adb shell pm clear < packagename >
命令示例:
- adb shell pm clear com.aaron.test
命令:
- adb shell input keyevent < keycode >
例子:
- adb shell input keyevent 26 //模拟电源键
命令格式:
- [adb] logcat[ < option > ]... [ < filter - spec > ]...
例子:
- adb logcat * :W
Android 的日志分为如下几个优先级(priority):
过滤指定TAG
- adb logcat - s < TAG >
查看应用列表的基本命令格式是
- adb shell pm list packages[ - f][ - d][ - e][ - s][ - 3][ - i][ - u][--user USER_ID][FILTER]
参数 | 显示列表 |
---|---|
无 | 所有应用 |
-f | 显示应用关联的 apk 文件 |
-d | 只显示 disabled 的应用 |
-e | 只显示 enabled 的应用 |
-s | 只显示系统应用 |
-3 | 只显示第三方应用 |
-i | 显示应用的 installer |
-u | 包含已卸载应用 |
FILTER | 包名包含 FILTER 字符串 |
例如:
- pm list packages - s
- adb shell pm list packages - 3
- adb shell pm list packages aaron
命令:
- adb shell dumpsys activity activities | grep mFocusedActivity
命令:
- adb shell dumpsys activity services[ < packagename > ]
命令:
- adb shell cat / proc / cpuinfo
内存信息
命令:
- adb shell cat / proc / meminfo
命令:
- adb shell busybox top
adb 的使用还有很多的命令,这里不一一列举了。更多的可以查看adb 命令的帮助信息。
来源: http://www.tuicool.com/articles/qARBRva