Android常用adb命令总结(二)
adb shell 命令
简单点讲,adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下,如下在命令行中敲这样一个命令:
root@generic:/ # adb shell jjj
adb shell jjj
/system/bin/sh: jjj: not found
很明显,在 bin 目录下并不存在这个命令。

想看看有哪些命令,也不想去找文档,于是就启动模拟器,将整个 system/bin 目录复制了出来,然后一个一个的去试。
C:\Users\Administrator>adb pull /system/bin/ E:\system-bin


打开这些文件就可以发现,里面有些命令其实是一个 shell 脚本,例如打开 monkey 文件:

打开 am:

pm
Package Manager , 可以用获取到一些安装在 Android 设备上得应用信息
pm 的源码 pm.java , 直接运行
adb shell pm 可以获取到该命令的帮助信息


pm list package 列出安装在设备上的应用
不带任何选项:列出所有的应用的包名

-s:列出系统应用
adb shell pm list package -s

-3:列出第三方应用
adb shell pm list package -3

-f:列出应用包名及对应的apk名及存放位置
adb shell pm list package -f
root@generic:/ # pm list package -f
pm list package -f
package:/system/app/SoundRecorder.apk=com.android.soundrecorder
package:/system/app/SdkSetup.apk=com.android.sdksetup

-i:列出应用包名及其安装来源,结果显示例子:
adb shell pm list package -i

package:com.zhihu.android installer=com.xiaomi.market
adb shell pm list package -i
命令最后加上grep关键字,可以很方便地查找自己想要的应用

参数组合使用,例如,查找三方应用中知乎的包名、apk存放位置、安装来源:
root@generic:/ # pm list package -f -i fused
pm list package -f -i fused
package:/system/app/FusedLocation.apk=com.android.location.fused installer=null

pm path 列出对应包名的 .apk 位置
root@generic:/ # pm path com.android.smoketest
pm path com.android.smoketest
package:/data/app/SmokeTestApp.apk

pm list instrumentation , 列出含有单元测试 case 的应用,
后面可跟参数 -f (与 pm list package 中一样),以及 [target=package]

pm install , 安装应用
目标 apk 存放于 PC 端,请用 adb install 安装
目标 apk 存放于 Android 设备上,请用 pm install 安装
pm uninstall , 卸载应用,同 adb uninstall ,
后面跟的参数都是应用的包名
am
am start 程序名 , 启动一个 Activity,已启动系统相机应用为例

启动通讯录
root@generic:/ # am start com.android.contacts
am start com.android.contacts
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L
AUNCHER] pkg=com.android.contacts }


启动拨号器拨打 10086
root@generic:/ # am start -a android.intent.action.CALL -d tel:10086
am start -a android.intent.action.CALL -d tel:10086
Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxx


am monitor , 监控 crash(闪退) 与 ANR(Application Not Responding)
root@generic:/ # am monitor
am monitor
Monitoring activity manager... available commands:
(q)uit: finish monitoring

Input
这个命令可以向 Android 设备发送按键事件,其源码 Input.java
input text , 发送文本内容,不能发送中文(前提先将键盘设置为英文键盘)
root@generic:/ # input text testrabbit


screencap
adb shell screencap -p /sdcard/screen.png 截图命令
截屏,保存至 sdcard 目录
root@generic:/ # screencap -p /sdcard/screen.jpg
screencap -p /sdcard/screen.jpg


查看到截图如下:

getprop
查看 Android 设备的参数信息,只运行 adb shell getprop,结果以 key : value 键值对的形式显示

adb shell getprop ro.build.version.sdk
获取设备的 sdk 版本

adb shell getprop ro.build.version.release
获取手机系统版本:

学习交流QQ:270224761 (ep)
Android常用adb命令总结(二)的更多相关文章
- Android 常用 adb 命令
查看原文:http://blog.csdn.net/u010818425/article/details/52266593 (一)基础操作 安装app adb install -r xxx.apk / ...
- Android 常用 adb 命令总结
Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命 ...
- [原创]Android 常用adb命令总结
[原创]Android 常用adb命令总结 1 adb介绍 1.1 adb官方网站及下载 官方网站下载安装:http://adbshell.com/downloads 1.2 adb安装是否成功检查? ...
- 『与善仁』Appium基础 — 5、常用ADB命令(二)
目录 9.查看手机运行日志 (1)Android 日志 (2)按级别过滤日志 (3)按 tag 和级别过滤日志 (4)日志格式 (5)清空日志 10.获取APP的包名和启动名 方式一: 方式二: 11 ...
- 【转】Android 常用 adb 命令总结
原文地址:http://testerhome.com/topics/2565 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Andr ...
- Android 常用 adb 命令总结【转】
原文链接 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中 ...
- Android常用adb命令总结(一)
ADB是android sdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备. ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是an ...
- Android常用adb命令
1.进入手机命令行模式 adb shell 有多部手机的话 adb -s + 手机编号 + shell 2.安装apk adb install 然后将apk文件拖进命令行 卸载apk adb unin ...
- 常用adb命令总结
前言 很早就想整理一下自己平时常用的一些adb命令,不仅为了便于以后查找,而且整理的过程自己又重新复习了一遍,但是当我开始在度娘一搜的时候,发现很多人已经写的非常详细了,尤其是当我发现了这篇adb概括 ...
随机推荐
- 通过程序调用微信公众号发消息api返回48001
自己的订阅号,尝试通过写程序来给用户发消息.结果呢,接口返回报错:errcode=48001,errmsg = api unauthorized hint: [ZlPULa02942276!] 去微信 ...
- 8 个 Tips 让你更好的进行 Code Review
摘要: Code Review 可以提高代码质量. 原文:Elevenbeans 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 原文地址:https://kellysutton.co ...
- centos7在线yum安装mysql时官方镜像下载过慢的解决方案
帮客户调试数据库,搭建一测试环境,centos7最小化安装后,在线安装mysql. 步骤: 1. wget -i http://dev.mysql.com/get/mysql57-community- ...
- python-基础-def(*agrs,**kwagrs)
1.*args,返回的数据类型为 tuple,使用方法如下图代码:**kwargs 返回的数据类型为 dict 使用方法如下图代码. def KeyWord_s(arg): print(arg,typ ...
- Hive部分函数解析
Hive部分函数解析 Hive里的exists ,in ,not exists ,not in 相关函数 表数据准备: 1.选择指定数据库 eg: use bg_database1; 2. 创建表 ...
- 编码方式ASCII、GBK、Unicode、UTF-8比较
文章内容深度较浅,详细了解可到下链接:https://blog.csdn.net/QuinnNorris/article/details/78705723; 总结了以下几种编码方式: ASCII.GB ...
- kubernetes部署高可用redis
本文redis通过helm搭建,提供redis高可用完整的编排,关于Helm的搭建和使用请查看文章<helm的搭建及使用>,其中前一章介绍了Helm搭建,并提供了Helm搭建Harbor的 ...
- git commit vim报错
window平台,使用git bash,填写git commit时,退出时vim报错: 错误信息 启动失败 Vim: Caught deadly signal SEGV 在工程目录下,进.git目录, ...
- 阿里面试实战题3----String,StringBuilder,StringBuffer区别
String public final class String implements java.io.Serializable, Comparable<String>, CharSequ ...
- 一起学Android之Xml与Json解析
概述 在网络中,数据交互通常是以XML和Json的格式进行,所以对这两种格式的数据进行解析,是Android开发中的必备功能,本文以一个简单的小例子,简述Android开发中Xml和Json解析的常用 ...