Android之在ubuntu上常用的am、pm命令的总结

adb shell am instrument [options] <COMPONENT>

作用:启动对instrument实例的监视。

参数[options]:

-e <key> <value> // -e选项需要放在-w选项之前

作用:提供了以键值对形式存在的测试选项。Android中提供了多种键值对,具体参见下表。
举例:-e class com.android.phone.FIncomingCallTests#testRejectCall

-r

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

参数 <COMPONENT>:

-w <test_package_name>/<runner_class> //<test_package_name>和<runner_class>在测试工程的AndroidManifest.xml中查找

作用:保持adb shell打开直至测试完成
举例:-w com.android.phone.tests/com.android.phone.runners.FunctionalTestRunner

<key> <value>参考表

KeyValueDescription
package<Java_package_name>The fully-qualified Java package name for one of the packages in the test application. Any test case class that uses this package name is executed. Notice that this is not anAndroid package name; a test package has a single Android package name but may have several Java packages within it.
class<class_name>The fully-qualified Java class name for one of the test case classes. Only this test case class is executed.
<class_name>#method nameA fully-qualified test case class name, and one of its methods. Only this method is executed. Note the hash mark (#) between the class name and the method name.
functrueRuns all test classes that extend InstrumentationTestCase.
unittrueRuns all test classes that do not extend eitherInstrumentationTestCaseorPerformanceTestCase.
size[small | medium | large]Runs a test method annotated by size. The annotations are@SmallTest,@MediumTest, and @LargeTest.
perftrueRuns all test classes that implement PerformanceTestCase. When you use this option, also specify the-r flag for am instrument, so that the output is kept in raw format and not re-formatted as test results.
debugtrueRuns tests in debug mode.
logtrueLoads and logs all specified tests, but does not run them. The test information appears inSTDOUT. Use this to verify combinations of other filters and test specifications.
emmatrueRuns an EMMA code coverage analysis and writes the output to/data//coverage.ec on the device. To override the file location, use thecoverageFile key that is described in the following entry.

Note: This option requires an EMMA-instrumented build of the test application, which you can generate with thecoverage target.

coverageFile<filename>

Overrides the default location of the EMMA coverage file on the device. Specify this value as a path and filename in UNIX format. The default filename is described in the entry for theemma key

 

adb shell am start [options] <INTENT>

作用:启动一个activity

举例:adb shell am start -a com.lt.test.action.SECOND

举例:adb shell am start -n com.lt.test/.MyActivity

说明:[options]与<INTENT>参见 http://developer.android.com/tools/help/adb.html#am

adb shell am startservice [options] <INTENT>

作用:启动一个service

举例:adb shell am startservice -a com.lt.test.action.ONESERVICE
举例:adb shell am startservice -n com.lt.test/.MyService

 

adb shell am force-stop <PACKAGE>
作用:强制关闭一个应用程序

举例:adb shell am force-stop com.lt.test

 

adb shell am broadcast [options] <INTENT>

作用:发送一个广播
举例:adb shell am broadcast -a "action_finish" (发送一个广播去关闭一个activity)
举例:adb shell am broadcast -a android.intent.action.MASTER_CLEAR(恢复出厂设置的方法,会清除内存所有内容)

举例:adb shell am broadcast -n com.lt.test/.MyBroadcast

 

adb shell pm list packages [options] <INTENT>

作用:列举出所有包含<INTENT>的package

举例:adb shell pm list packages com.lt

说明:[options]与<INTENT>参见 http://developer.android.com/tools/help/adb.html#pm


adb shell中的am pm命令,一些自己的见解和大多数官网的翻译。

先说下am命令,am全称activity manager,你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等。当你在adb shell命令下执行am命令:

am <command>
你也可以在adb shell前执行am命令:
adb shell am start -a android.intent.action.VIEW
关于一些am命令的介绍:
start [options] <INTENT> :启动activity通过指定的intent参数。具体intent参数参照官方表。

startservice [options] <INTENT> : 启动service通过指定的intent参数。具体intent跟start命令参数相同。

force-stop <PACKAGE> : 强制停止指定的package包应用。

kill [options] <PACKAGE> :杀死指定package包应用进程,该命令在安全模式下杀死进程,不影响用户体验。参数选项:--user <USER_ID> | all | current: 指定user进程杀死,如果不指定默认为所有users。(关于USER_ID下面会介绍到)

kill-all :杀死所有的后台进程。

broadcast [options] <INTENT> :发送一个intent。具体intent参数参照start命令参数。参数选项:--user <USER_ID> | all | current: 指定user进程杀死,如果不指定默认为所有users。

instrument [options] <COMPONENT> :测试命令,不多作介绍。

profile start <PROCESS> <FILE> :在<PROCESS>进程中运行profile,分析结果写到<FILE>里。

profile stop <PROCESS> :停止profile。

set-debug-app [options] <PACKAGE> :设置package包应用为debug模式。参数选项:-w|--persistent:等待进入调试模式,保留值。

clear-debug-app :清空之前用set-debug-app命令设置的package包应用。

以下命令查看官网:
monitor [options]
screen-compat [on|off] <PACKAGE>
display-size [reset|<WxH>]
display-density <dpi>
to-uri <INTENT>
to-intent-uri <INTENT>

接下来介绍pm命令,pm全称package manager,你能使用pm命令去模拟android行为或者查询设备上的应用等,当你在adb shell命令下执行pm命令:

pm <command>
你也可以在adb shell前执行pm命令:
adb shell pm uninstall com.example.MyApp
关于一些pm命令的介绍:
list packages [options] <FILTER> :打印所有包,选择性的查询包列表。参数选项:-f:查看关联文件,即应用apk的位置跟对应的包名(如:package:/system/app /MusicPlayer.apk=com.sec.android.app.music);-d:查看disabled packages;-e:查看enable package;-s:查看系统package;-3:查看第三方package;-i:查看package的对应安装者(如:1、 package:com.tencent.qqmusic installer=null 2、package:com.tencent.qqpim installer=com.android.vending);-u:查看曾被卸载过的package。(卸载后又重新安装依然会被列 入);--user<USER_ID>:The user space to query。

list permission-groups :打印所有已知的权限群组。

list permissions [options] <GROUP> :选择性的打印权限。参数选项:

 

list features :设备特性。硬件之类的性能。

list libraries :当前设备支持的libs。

list users :系统上所有的users。(上面提到的USER_ID查询方式,如:UserInfo{0:Primary:3}那么USER_ID为0)

path <PACKAGE> :查询package的安装位置。

install [options] <PATH> :安装命令。

uninstall [options] <PACKAGE> :卸载命令。

clear <PACKAGE> :对指定的package删除所有数据。

enable <PACKAGE_OR_COMPONENT> :使package或component可用。(如:pm enable "package/class")

disable <PACKAGE_OR_COMPONENT> :使package或component不可用。(如:pm disable "package/class")

disable-user [options] <PACKAGE_OR_COMPONENT> :参数选项:--user <USER_ID>: The user to disable.
grant <PACKAGE_PERMISSION> :授权给应用。

revoke <PACKAGE_PERMISSION> :撤销权限。

set-install-location <LOCATION> :设置默认的安装位置。其中0:让系统自动选择最佳的安装位置。1:安装到内部的设备存储空间。2:安装到外部的设备存储空间。(这只用于调试应用程序, 使用该命令可能导致应用程序退出或者其他不适的后果)。

get-install-location :返回当前的安装位置。返回结果同上参数选项。

set-permission-enforced <PERMISSION> [true|false] :使指定权限生效或者失效。

create-user <USER_NAME> :增加一个新的USER。

remove-user <USER_ID> :删除一个USER。

get-max-users :该设备所支持的最大USER数。(某些设备不支持该命令)


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293522.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

转:IOS开发之----Xcode非ARC项目中设置部分文件ARC支持

ARC是什么 ARC是iOS 5推出的新功能&#xff0c;全称叫 ARC(Automatic Reference Counting)。简单地说&#xff0c;就是代码中自动加入了retain/release&#xff0c;原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机制在 iOS 5/ Mac OS X 10.…

将数据库设置为运行在限制模式下

将数据库设置为运行在限制模式下 如果要维护数据库的结果或者要对数据库进行数据的导出导入操作时&#xff0c;此时应该尽量限制其他会话进程&#xff0c;保证数据库的操作运行在安全状态下。同时对使用数据的库的用户也可以起到避免读取脏数据的bug。将数据库上的其他用户进程…

《SAS编程与数据挖掘商业案例》学习笔记之十六

《SAS编程与数据挖掘商业案例》学习笔记&#xff0c;本次重点&#xff1a;sas宏变量 内容包括&#xff1a;宏变量、宏函数、宏参数、通配函数、字符函数、计算函数、引用函数、宏语句、宏应用 1.宏触发器&#xff1a; %name-token:是一个宏语句或宏函数 &name-token:是一个…

C# ActionT和 FuncT委托

除了为每个参数和返回类型定义一个新委托类型之外&#xff0c;还可以使用 Action<T> 和 Func<T>委托。泛型 Action<T>委托表示引用一个 void 返回类型的方法。这个委托类存在不同的变体&#xff0c;可以传递至多 16 种不同的参数类型。没有泛型参数的 Action…

linux学习-简单命令介绍及安装VMware Tools

常用简单命令介绍 ethernet以太网pts&#xff1a;模拟终端图形界面&#xff1a;CtrlAltF1 字符界面&#xff1a;CtrlAltF2-F6切换虚拟终端&#xff1a;&#xff08;本机操作&#xff09;# chvt 1-6关闭图形界面,在纯字符界面下操作&#xff1a; init 3打开图形界面&#xff…

Android之6.0 权限申请封装

之前一篇博客初试了Android6.0系统的动态权限申请&#xff0c;成功之后开始思考将权限申请功能封装以供更加方便的调用。 查阅6.0系统权限相关的API&#xff0c;整个权限申请需要调用三个方法&#xff1a; 1. ContextCompat.checkSelfPermission() 检查应用是否拥有该权限&a…

Samba服务器问题汇总

一个Samba服务器要么经典模式访问&#xff08;用户名密码&#xff09;&#xff0c;要么友好访问&#xff08;guest&#xff09;&#xff0c;只可选其一。㈠准备工作&#xff1a;1>清除客户端windows系统的上次访问自动记录CMD下运行&#xff1a;net use * /delete /y2>关…

Unity手游之路lt;七gt;角色控制器

我们要控制角色的移动&#xff0c;能够所有细节都由自己来实现。控制角色模型的移动&#xff0c;同一时候移动摄影机&#xff0c;改变视角。当然Unity也提供了一些组件&#xff0c;能够让我们做更少的工作&#xff0c;实现我们所期望的功能。今天我们就一起系统来学习相关的内容…

《SAS编程与数据挖掘商业案例》学习笔记之十八

接着以前的《SAS编程与数据挖掘商业案例》&#xff0c;之前全是sas的基础知识&#xff0c;现在开始进入数据挖掘方面笔记&#xff0c;本文主要介绍数据挖掘基本流程以及应用方向&#xff0c;并以logistic回归为例说明。 一&#xff1a;数据挖掘综述 衡量一个数据挖掘模型价值的…

开源软件的痛点

| 作者&#xff1a;Bob Jiang| 编辑&#xff1a;刘雪洁| 责编&#xff1a;王玥敏| 设计&#xff1a;宋传琪开篇我是 Bob Jiang (个人博客&#xff1a;https://www.bobjiang.com/)&#xff0c;开源软件领域的新人。我从2018年加入区块链领域开始认识和了解开源。当时我创立了HiB…

【CodeForces 577C】Vasya and Petya’s Game

链接 某个数x属于[1,n]&#xff0c;至少询问哪些数y“x是否是y的倍数”才能判断x。找出所有质因数和质因数的幂即可。 #include<cstdio> #include<algorithm> #define N 1005 using namespace std; int n,pr[N],ans[N],cnt; int main(){scanf("%d",&…

Andorid之华为手机开发模式不打印日志

用华为手机测试程序是&#xff0c;eclipse的logcat不能打印日志&#xff0c;我按照网上说的方法打开了windows下面的show view 的logcat&#xff0c;日志有logcat但是日志不打印&#xff0c;调试程序必须要日志&#xff0c;最后终于搜到了这个调试方法&#xff0c;在手机拨号界…

SQLite入门之数据类型

2019独角兽企业重金招聘Python工程师标准>>> SQLite入门之数据类型 2011-05-23 16:47:47 来源&#xff1a;SeaYee 最近在开发一个可以记录日志的程序&#xff0c;要求效率高&#xff0c;需要能做简单的查询和统计。经过同事介绍&#xff0c;看上了SQLite。首先了解…

【Tika基础教程之一】Tika基础教程

一、快速入门 1、Tika是一个用于文本解释的框架&#xff0c;其本身并不提供任何的库用于解释文本&#xff0c;而是调用各种各样的库&#xff0c;如POI&#xff0c;PDFBox等。 使用Tika&#xff0c;可以提取文件中的作者、标题、创建时间、正文等内容&#xff0c;相比于java.io自…

它是世界上最轻的固体!1000℃下不会熔化,上过火星,还能进你家......

全世界只有3.14 % 的人关注了爆炸吧知识小果冻大难关开学了&#xff0c;8岁表妹逮着这个机会讹了我一大箱果冻&#xff0c;超模君糊里糊涂就进了这只神兽的套。今天估计是一口气吃了太多&#xff0c;腻了&#xff0c;一边用手敲着果冻一边问超模君&#xff1a;“这果冻这么软&a…

使用C#快速生成二维码 | 真正跨平台方案

前言二维码&#xff08;QR Code&#xff09;&#xff0c;与传统的一维码&#xff0c;比如条形码&#xff0c;二维码具有存储的数据量更大&#xff1b;可以包含数字、字符&#xff0c;及中文文本等混合内容&#xff1b;有一定的容错性&#xff08;在部分损坏以后还可以正常读取&…

Andorid之MediaPlayer和AudioTrack播放Audio的区别与联系

播放声音可以用MediaPlayer和AudioTrack&#xff0c;两者都提供了java API供应用开发者使用。虽然都可以播放声音&#xff0c;但两者还是有很大的区别的。 其中最大的区别是MediaPlayer可以播放多种格式的声音文件&#xff0c;例如MP3&#xff0c;AAC&#xff0c;WAV&#xff0…

《SAS编程与数据挖掘商业案例》学习笔记之十七

继续读书笔记&#xff0c;本次重点sas sql语句&#xff0c;由于sql内容多且复杂&#xff0c;本文只介绍商业应用中常用的并且容易出错的地方&#xff0c;内容包括&#xff1a;单表操作、多表关联、子查询以及merge和join的区别 1.单表操作 eg1&#xff1a; Proc sql outobs10&a…