Android shell 命令总结
Package Manage(PM)
pm list packages [FILTER] 查看已安装的应用包
- -f 显示关联的apk文件
- -s 只在系统应用中搜索Filter
- -3 只在第三方应用中搜索Filter
- -d 只在disabled package搜索Filter
- -e 只在enabled package搜索Filter
- -i 显示installer
- -u uninstalled package
- --user USERID
pm list instrumentation [TARGET-PACKAGE] 查看已安装的测试包
- -f 显示关联的apk文件
pm list features
pm list permission-groups
pm list permissions [GROUP]
- -g 按组组织
- -f 显示所有信息
- -s 显示简述
- -d 只显示危险权限
- -u 只显示用户可见的
pm list users
pm uninstall <package> 删除应用
- -k 保留数据和缓存
pm clear <package> 清除应用数据
- --user USERID
pm path <package> 查看某个应用的apk包路径
pm dump <package> 显示与包相关的系统状态信息
pm install PATH
- -l FORWARD_LOCK
- -r 重新安装,保留数据
- -t 运行安装测试apk
- -i 指定安装包名
- -s SDCard
- -f 内部存储器
- -d 允许版本降级
pm get-install-location 返回当前默认安装位置
返回值:
0 auto
1 内部存储
2 外部存储
pm set-install-location 0|1|2 修改默认安装位置
pm enable|disable|disable-user|disable-until-used|block|unblock [--user USERID] PACKAGE_OR_COMPONENT
pm grant|revoke PACKAGE PERMISSION 应用增减权限(必须在应用中已声明)
pm create-user USER_NAME
pm remove-user USER_ID
pm get-max-users
pm set-permission-enforced PERMISSION [true|false]
pm trim-caches DESIRED_FREE_SPACE
Activity Manage(AM)
通用选项
--user <USER_ID> | current | all 以特定用户运行
am start [options] <INTENT> 启动Activity
- -D 调试模式
- -W 等待启动结束
- --start-profilter <FILE> 启动分析器,结果输出到文件
- -P <FILE> 启动分析器,输出结果到文件,应用空闲时停止分析
- -R <COUNT> 反复启动Count次,每次重复前,结束最上层Activity
- -S 启动后强制停止
- --opengl-trace 启动OpenGL函数记录
- --user <USER_ID> | current 指定以哪个用户运行,默认为当前用户
am startservice <INTENT> 启动服务
am stopservice <INTENT> 停止服务
am force-stop <PACKAGE> 强行停止与包相关的所有东西
am kill <PACKAGE> 杀掉与包相关的进程
am kill-all 杀掉所有后台进程
am broadcast <INTENT>
am instrument [options] <COMPONENT>
- -r 以原始形式输出测试结果。该选项通常是在性能测试时与-e perf true一起使用
- -p <FILE> 输出分析数据到文件
- -w <TEST_PACKAGE/RUNNER_CLASS> 等到instrumentation结束时才返回
- --no-window-animation
- --user <USER_ID> | current
- -e <testrunner_flag> <value>[,<value>…]
<COMPMONENT>就是<TEST_PACKAGE/RUNNER_CLASS>
InstrumentationTestRunner可用flag:
|
flag |
value |
说明 |
|
package |
<full_java_package> |
执行某个java包里的测试 |
|
class |
<full_class_name> |
执行某个测试类 |
|
func |
true |
|
|
unit |
true |
|
|
size |
small|medium|large |
运行@SmallTest,@MediumTest,@LargeTest标注的测试 android.test.annotation包里定义了@LargeTest,@MediumTest,@SmallTest,@Smoke,和@Suppress |
|
perf |
true |
执行PerformanceTestCase |
|
debug |
true |
调试模式执行测试 |
|
log |
true |
<INTENT> specifications include these flags and arguments
[-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] android.intent.action.VIEW content://contacts/people/1 image/png
[-c <CATEGORY> [-c <CATEGORY>] ...] android.intent.category.APP_CONTACTS
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
[--esn <EXTRA_KEY> ...]
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
[--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
[--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...]
[--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...]
[--eu <EXTRA_KEY> <EXTRA_URI_VALUE> ...]
[--ecn <EXTRA_KEY> <EXTRA_COMPONENT_NAME_VALUE>]
[--eia <EXTRA_KEY> <EXTRA_INT_VALUE>[,<EXTRA_INT_VALUE...]]
[--ela <EXTRA_KEY> <EXTRA_LONG_VALUE>[,<EXTRA_LONG_VALUE...]]
[--efa <EXTRA_KEY> <EXTRA_FLOAT_VALUE>[,<EXTRA_FLOAT_VALUE...]]
[-n <COMPONENT>] [-f <FLAGS>]
[--grant-read-uri-permission] [--grant-write-uri-permission]
[--debug-log-resolution] [--exclude-stopped-packages]
[--include-stopped-packages]
[--activity-brought-to-front] [--activity-clear-top]
[--activity-clear-when-task-reset] [--activity-exclude-from-recents]
[--activity-launched-from-history] [--activity-multiple-task]
[--activity-no-animation] [--activity-no-history]
[--activity-no-user-action] [--activity-previous-is-top]
[--activity-reorder-to-front] [--activity-reset-task-if-needed]
[--activity-single-top] [--activity-clear-task]
[--activity-task-on-home]
[--receiver-registered-only] [--receiver-replace-pending]
[--selector]
[<URI> | <PACKAGE> | <COMPONENT>]
dumpsys
查询系统服务,获取系统运行时状态信息
原理:调用ServiceManager服务的listServices来查询系统注册的所有服务,并且通过checkService接口来获取服务的Binder远程代理对象,使用每个服务的dump函数来打印该服务的相关信息。
源代码: https://android.googlesource.com/platform/frameworks/native/+/master/cmds/dumpsys/dumpsys.cpp
dumpsys 不带任何参数时,列出所有服务,并依次显示所有服务状态信息
dumpsys | grep FILTER
service list 显示系统服务列表
dumpsys SERVICE [SERVICE_OPTIONS] 显示指定服务的状态信息
dumpsys SERVICE -h 某些服务可以查看能接受的参数
例如:
dumpsys battery
dumpsys wifi
dumpsys cpuinfo
dumpsys meminfo
dumpsys meminfo com.xracoon.wifisetter
dumpsys window w(indows) | grep mCurrentFocus
dumpsys window d(disply) | grep Display
Logcat
logcat命令格式与直接调用adb logcat相同,下面两条命令效果一样,可参考adb 命令一文中Logcat的说明。
adb shell logcat [options] [filter...]
adb logcat [options] [filter...]
调试测试相关命令
dumpstate
dmesg
monkey [options] <operation_num>
screenrecord [options] <file> android4.4+
screencap -p <file>
input
input [<source>] <command> [<arg>...]
source:
trackball, joystick, touchnavigation, mouse, keyboard, gamepad, touchpad, dpad, stylus, touchscreen
command和 /默认source:
| command | 默认的source |
| text <string> | touchscreen |
| keyevent [--longpress] <key code number or name> ... | keyboard |
| tap <x> <y> | touchscreen |
| swipe <x1> <y1> <x2> <y2> [duration_ms] | touchscreen |
| press | trackball |
| roll <dx> <dy> | trackball |
Android shell 命令总结的更多相关文章
- android: shell 命令
adb是Android重要工具之一,以提供强大的特性,例如复制文件到设备或从设备复制文件.可以使用Android Shell命令行参数连接到手机本身,并发送基本的 shell 命令. 进入命令行,使用 ...
- Android shell命令查询ip,网关,DNS
查看所有网络信息 C:\>adb shell root@android:/ # netcfg netcfg ip6tnl0 DOWN 0.0.0.0/0 0x00000080 00:00:00: ...
- Android Shell命令dumpsys
dumpsys命令可以显示手机中所有应用程序的信息,并且也会给出现在手机的状态. 直接执行adb shell dumpsys KEY 会显示以下所有信息. KEY的可选名称 SurfaceFlinge ...
- Android 的独特shell命令
Android本来就是一个linux操作系统,所以大部分都是linux的命令,如mkdir,ls,netstat,mount,ps 等,这里就不具体介绍了, 主要介绍几个Android特有的. get ...
- Android adb 命令使用总结
adb原理 参考文档 How ADB works http://www.cnblogs.com/ifantastic/p/5186362.html http://blog.csdn.ne ...
- Android中shell命令语句
最近学习了Android中碰到了shell命令,故收集终结了一下 Ccat zdd 浏览文件zdd的内容cat zdd1 zdd2 浏览多个文件的内容cat -n zdd浏览文件zdd的内容并显示行号 ...
- Android Java执行Shell命令
最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何 ...
- ubuntu 使用adb shell命令识别android设备
ubuntu 使用adb shell命令配置 在ubuntu下使用adb 命令识别Android设备需配置adb_usb.ini 文件 文件路径: ~/.android/ ,若不存在创建该文件. a ...
- Android执行shell命令
一.方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", &q ...
随机推荐
- [Android Pro] 内容提供者ContentProvider的基本使用
一.ContentProvider简介 当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.ContentProvider为存储和获取数据提 ...
- ImageView中XML属性src和background的区别
background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸. src是图片内容(前景),bg是背景,可以同时使用. 此外:scaleType只对sr ...
- 归并排序的分析与Java实现
归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作.归并排序算法依赖归并操作.该算法是采用分治法(Divide and Conquer)的一个非常典型的应用.归并排序 ...
- .net学习之集合、foreach原理、Hashtable、Path类、File类、Directory类、文件流FileStream类、压缩流GZipStream、拷贝大文件、序列化和反序列化
1.集合(1)ArrayList内部存储数据的是一个object数组,创建这个类的对象的时候,这个对象里的数组的长度为0(2)调用Add方法加元素的时候,如果第一次增加元神,就会将数组的长度变为4往里 ...
- HTML 学习新理论
一直觉得没有时间,现在看到这样的网站: Bootstrap学习http://www.runoob.com/bootstrap/bootstrap-environment-setup.html Less ...
- thinkphp的mvc理解
ThinkPHP支持多层设计. .模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层等不同的模型层可以在模块目录下创建Model,L ...
- cocos2dx游戏开发——微信打飞机学习笔记(八)——EnemyLayer的搭建
一.创建文件= = EnemyLayer.h EnemyLayer.cpp Ps:我绝对不是在凑字数~. 二.How to do? (1)一些宏 ...
- TFS2012团队管理基本配置及基础使用方法
本文介绍如何在VS2012中使用微软提供的TFS2012服务器进行团队协作开发,免费默认只支持5用户,主要分为两大步服务器配置跟客户端配置. 转载请标注:http://www.kwstu.com/Ar ...
- 2015CCPC小记
距离第一届CCPC也正好一星期了,突然想到还没写总结,现在补上.做为刚度过大一的我,能有机会去参加国赛是很激动的.周五下午出发,坐了13个小时的火车抵达南阳,南阳不算大城市,有点落后,但是这里的人很热 ...
- 简单几何(直线与圆的交点) ZOJ Collision 3728
题目传送门 题意:有两个一大一小的同心圆,圆心在原点,大圆外有一小圆,其圆心有一个速度(vx, vy),如果碰到了小圆会反弹,问该圆在大圆内运动的时间 分析:将圆外的小圆看成一个点,判断该直线与同心圆 ...