zoukankan      html  css  js  c++  java
  • 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>
    <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
  • 相关阅读:
    929. 独特的电子邮件地址
    [工具.tcp]测试TCP通讯的网络延迟
    [技巧.Dotnet]轻松实现“强制.net程序以管理员身份运行”。
    [问题记录.VisualStudio]VS2013无法新增和打开项目
    [问题记录.VisualStudio]TFS项目映射问题解决
    [问题记录.dotnet]取网卡信息报错"找不到"-WMI
    模型驱动的数学原理
    剑指OFFER 旋转数组的最小数字
    剑指OFFER 用两个栈实现队列
    剑指OFFER 按之字形顺序打印二叉树
  • 原文地址:https://www.cnblogs.com/pixy/p/4741532.html
Copyright © 2011-2022 走看看