Android shell 命令总结

pm

Package Manage

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

am

Activity Manage

通用选项

--user <USER_ID> | current | all  以特定用户运行

am start [options] <INTENT> 启动Activity

  options:

    -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>

  options:

    -r  以原始形式输出测试结果。该选项通常是在性能测试时与-e perf true一起使用

    -p <FILE> 输出分析数据到文件

    -w <TEST_PACKAGE/RUNNER_CLASS> 等到instrumentation结束时才返回

    --no-window-animation

    --user <USER_ID> | current

    -e <testrunner_flag> <value>[,<value>…]

  InstrumentationTestRunner可用flag


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 

查询系统服务,获取系统运行时状态信息

源代码:  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 | grep mCurrentFocus

 

调试测试

dumpstate

dmesg

monkey [options] count

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:

    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

时间: 2024-11-12 00:37:24

Android shell 命令总结的相关文章

Android Shell命令dumpsys

dumpsys命令可以显示手机中所有应用程序的信息,并且也会给出现在手机的状态. 直接执行adb shell dumpsys KEY 会显示以下所有信息. KEY的可选名称 SurfaceFlinger, accessibility, account, activity, alarm, appwidget, audio, backup, battery, batteryinfo, bluetooth, bluetooth_a2dp, clipboard, connectivity, conten

android shell命令screenrecord和uptime

1.使用uptime查看开机时间 130|[email protected]:/ $ uptimeup time: 00:12:32, idle time: 01:28:59, sleep time: 00:00:002.使用screenrecord录制屏幕 $ adb shell screenrecord --help Usage: screenrecord [options] <filename> Records the device's display to a .mp4 file. O

Android adb 与 shell 命令使用总结

Adb命令 help 帮助信息 version 版本信息 服务启停 adb start-server 启动adb server adb kill-server 停止adb server 设备状态 adb devices 显示所有设备(格式为 串号和状态) -l  显示qulifiers (如: product:MT7-CL00 model:HUAWEI_MT7_CL00 device:hwmt7) adb wait-for-device device online前一直阻塞,可以作为不需要系统完

在Android下利用Shell命令管理网络接口

为啥要使用shell命令操纵本地网络?因为这样就可以绕过上层connectService来干一些事情,至于具体要干点什么事情,容我先卖个关子在以后的blog里说明. 首先进入adb shell,然后去Ping一个服务器的ip地址 <code style="margin: 0px; padding: 0px; border: 0px; vertical-align: baseline; font-family: Consolas, Menlo, Monaco, 'Lucida Console

在android程序中调用shell命令与脚本

最近做android的一个功能就是调用shell命令来进行一些系统级别的操作,比如说是关机开机之类的,现在总结一下具体的用法以及遇到的坑(基于我所用到的,没用到的我就不说了) (1) Runtime.getRuntime().exec("ls"); 这是最简单的一种,你输入后就能就会执行ls命令,如果要获得输出的话可以这样写 Process p = Runtime.getRuntime().exec("ls"); String data = null; Buffer

【Android】-- adb shell 命令探索

ADB是什么,做android开发的没有不知道的. window下运行cmd,输入adb help就会打印adb都能够做的事情,包括 adb push ..adb pull .. adb devices  adb install... 等等..并且一搜一大把. 其中有一个命令叫做  adb shell,android是基于linux的,shell模式下linux的命令可是非常多的,android去掉了许多linux的命令,那么从这写命令里面又能够发现什么宝藏呢?寻宝之旅开启!! 首先linux的

Android 常用adb shell 命令(转)

调试Android程序有时需要adb shell 命令,adb全称Android Debug Bridge ,就是起到调试桥的作用. 通过adb我们可以在Eclipse中通过DDMS来调试Android程序,说白了就是debug工具.adb通过监听Socket TCP 5554等端口让IDE和Qemu通讯. 默认情况下当我们运行Eclipse时adb进程就会自动运行.adb是一个C/S模式的程序,由三个部分组成:a client,a server and a daemon. 其中client和s

Android调用shell命令时间系统时间的修改

============问题描述============ Android怎么调用shell命令来修改系统时间啊,用代码的 ============解决方案1============ Process process = Runtime.getRuntime().exec("su"); String datetime = "20131023.112800"; // 测试的设置的时间[时间格式 // yyyyMMdd.HHmmss] DataOutputStream os

Android 执行 adb shell 命令

Android 执行Adb shell 命令大多需要root权限,Android自带的Runtime. getRuntime().exec()容易出错,在网上找到了一个执行adb shell命令的类 代码如下: /**检查手机是否存在root权限,发送一些消息*/package com.dx.superbar.util; import java.io.DataOutputStream;import java.io.File;import java.io.FileOutputStream;impo