android的adb命令中,pm,am的使用
android在开发者模式下,我们能够使用adb执行andorid手机上system/bin/目录下的几乎所有命令。这些命令有的和linux的原始命令功能一样,有些是android独有的,有些是MTK添加的。但他们无一例外,功能都相当强大。熟练使用这些命令,可以有效的减少程序调试的工作量。
am指令可以发送广播,可以启动activity,可以启动服务,同时还能在特定的窗口关闭他们。因此对于UI调试和模块交叉调试十分有用,一是对于一些不设置launcher的动作的activity,没有办法通过菜单启动,这时可以使用am指令,二是对于一些需要参数才能运行的activity,直接运行可能出错或者无法调用其功能,需要am来启动。三是在一些launcher和屏幕锁窗口,没有办法直接调用其他程序,但其他程序又会在特定条件下在这些窗口启动,为了测试他们交互运行情况,需要am指令。四对于一些在特定某些广播下运行的服务,活动,广播接收器来说,调试难度很大,使用am可以轻松解决。
5对于一些窗口调用出错的程序,也可以通过am指令来验证是发送出错还是接收出错
1.am启动一个activity
adb shell am start com.example.scr/.MainActivity
2.am启动一个带参数的activity
adb shell am start -n com.magcomm.touch/.TouchLetterActivity --es letter "e"
--es传递的是字符串,还有ei,el,ez等参数
-n使用包名加类名,还有a动作,c CATEGORY等
3.am发送一个广播,使用action
adb shell am broadcast -a magcomm.action.TOUCH_LETTER
4.am发送一个带参数的广播,使用action
adb shell am broadcast -a magcomm.action.TOUCH_LETTER --es letter "e"
5.am启动一个服务,不带参数时默认使用包名加类名启动,参数时n,a,c
adb shell am startservice com.android.music/.MediaPlaybackService
6.关闭一个activity或者服务之类,使用包名就行
adb shell am force-stop com.magcomm.touch
pm指令也很有用
1.可以列出手机上安装的apk与对应的软件包,由于使用命令删除apk时,需要知道包名,通过这条命令加上grep或者find就能找到需要的软件的包名
adb shell pm list packages -f
2找出对应包的安装目录路径,两条指令结合,可以知道要拷贝给别人的软件位于手机什么地方
adb shell pm path com.example.scr
2.可以列了使用的权限
adb shell pm list permission-groups
adb shell pm list permissions
转载请注明出处:
User_Index.rd
参考:
http://bbs.ydss.cn/thread-96113-1-1.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。