• android常用的一些UI调试命令am,pm


    转自:http://www.52rd.com/Blog/Detail_RD.Blog_blogercn_71675.html

    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

  • 相关阅读:
    《需求分析与系统设计》阅读笔记(四)
    《需求分析与系统设计》阅读笔记(三)
    每周总结(补)【2020/11/22】——自主学习MyBatis与Hive配置
    每周总结【2020/11/08】——————图表联动
    每周总结【2020/11/1】——动态生成树形组件,MapReduce,C++实现文法分析
    “公文流转系统 v1.0”
    统计文本文件(字母、单词、字符)
    动手动脑 第三周(一)
    动手动脑 第三周 (二)
    回文字符串判断
  • 原文地址:https://www.cnblogs.com/dirt2/p/5484671.html
Copyright © 2020-2023  润新知