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>
<full_class_name>#methos_name

执行某个测试类

func

true

执行所有InstrumentationTestCase

unit

true

执行非InstrumentationTestCase和非PerformanceTestCase的测试类

size

small|medium|large

运行@SmallTest,@MediumTest,@LargeTest标注的测试

android.test.annotation包里定义了@LargeTest,@MediumTest,@SmallTest,@Smoke,和@Suppress

perf

true

执行PerformanceTestCase
与-r配合,输出原始格式输出

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 命令总结的更多相关文章

  1. android: shell 命令

    adb是Android重要工具之一,以提供强大的特性,例如复制文件到设备或从设备复制文件.可以使用Android Shell命令行参数连接到手机本身,并发送基本的 shell 命令. 进入命令行,使用 ...

  2. Android shell命令查询ip,网关,DNS

    查看所有网络信息 C:\>adb shell root@android:/ # netcfg netcfg ip6tnl0 DOWN 0.0.0.0/0 0x00000080 00:00:00: ...

  3. Android Shell命令dumpsys

    dumpsys命令可以显示手机中所有应用程序的信息,并且也会给出现在手机的状态. 直接执行adb shell dumpsys KEY 会显示以下所有信息. KEY的可选名称 SurfaceFlinge ...

  4. Android 的独特shell命令

    Android本来就是一个linux操作系统,所以大部分都是linux的命令,如mkdir,ls,netstat,mount,ps 等,这里就不具体介绍了, 主要介绍几个Android特有的. get ...

  5. Android adb 命令使用总结

    adb原理 参考文档 How ADB works        http://www.cnblogs.com/ifantastic/p/5186362.html http://blog.csdn.ne ...

  6. Android中shell命令语句

    最近学习了Android中碰到了shell命令,故收集终结了一下 Ccat zdd 浏览文件zdd的内容cat zdd1 zdd2 浏览多个文件的内容cat -n zdd浏览文件zdd的内容并显示行号 ...

  7. Android Java执行Shell命令

    最新内容建议直接访问原文:http://www.trinea.cn/android/android-java-execute-shell-commands/ 主要介绍Android或Java应用中如何 ...

  8. ubuntu 使用adb shell命令识别android设备

    ubuntu 使用adb shell命令配置 在ubuntu下使用adb 命令识别Android设备需配置adb_usb.ini 文件 文件路径:  ~/.android/ ,若不存在创建该文件. a ...

  9. Android执行shell命令

    一.方法 /** * 执行一个shell命令,并返回字符串值 * * @param cmd * 命令名称&参数组成的数组(例如:{"/system/bin/cat", &q ...

随机推荐

  1. linux下常见的文件夹含义

    1./bin :获得最小的系统可操作性所需要的命令2./boot :内核和加载内核所需的文件3./dev :终端.磁盘.调制解调器等的设备项4./etc :关键的启动文件和配置文件5./home :用 ...

  2. oracle 10g 学习之服务器端安装(1)

    Oracle 简介 lOracle 是殷墟出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词 lOracle 公司是全球最大的信息管理软件及服务供应商,成立于197 ...

  3. HTML CSS 中DIV内容居中汇总

    转载博客(http://www.cnblogs.com/dearxinli/p/3865099.html) (备注:DIV居中情况,网上谈到也比较多,但是这篇文字,相对还是挺全面,现转载,如果冒犯,还 ...

  4. ytu 2463:给小鼠补充代码(DFS 深度优先搜索)

    2463: 给小鼠补充代码 Time Limit: 2 Sec  Memory Limit: 64 MBSubmit: 5  Solved: 2[Submit][Status][Web Board] ...

  5. SQL2008的数据更新跟踪测试 (监控数据表变化,可用于同步)

    POC过程如下: 这里我们建立一个测试环境,模拟数据在 Insert , Update 和 Delete 情况下的跟踪效果.1 .测试脚本的准备,下面脚本建立一个新的数据库环境,并作相应的跟踪配置后向 ...

  6. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(三)码农网

    12. 安装 Apache Tomcat Tomcat 是由 Apache 设计的用来运行 Java HTTP web 服务器的 servlet 容器.按照下面的方法安装 tomcat,但需要指出的是 ...

  7. Android 利用Gson生成或解析json

    目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json.下载Gson:https://code.google.com/p/google-gson/ 下载的放在lib并导入,若 ...

  8. 玩转Android Camera开发(一):Surfaceview预览Camera,基础拍照功能完整demo

    杂家前文是在2012年的除夕之夜仓促完成,后来很多人指出了一些问题,琐事缠身一直没有进行升级.后来随着我自己的使用,越来越发现不出个升级版的demo是不行了.有时候就连我自己用这个demo测一些性能. ...

  9. 洗衣店专用手持智能POS PDA手持设备 上门收衣 现场刷卡 打印票据 开单系统

    手持上门收衣设备通过wifi或者3G手机卡等进行联网,功能便捷强大,多功能一体同步使用,通过手持机上门收.取衣物,快速开单收衣消费.取货.新建会员.现场办理会员发卡.手持机读发会员卡和会员用卡消费等. ...

  10. Javascript history pushState onpopstate方法做AJAX SEO

    参考MDN: https://developer.mozilla.org/zh-CN/docs/DOM/Manipulating_the_browser_history https://develop ...