价值
熟练使用调试命令可以帮助开发者调试及测试自己实现的功能,一定程度提高开发过程中的效率,节省时间,要知道时间就是生命啊!
命令的主要类别
- DOS命令
- ADB命令
- Java命令行工具
- Linux命令
常用的Java命令行工具
一、am
am命令实的实现方式在Am.java,最终几乎都是调用ActivityManagerService相应的方法来完成。
(1)显式启动activity
命令:
am start [包名/活动类名]
am start -n [包名/活动类名]
示例:
am start -n com.android.settings/.Settings
am start com.android.settings/.Settings
(2)隐式启动activity
命令:
am start -a [action]
示例:
am start -a com.xxx.xxx.user.login.BootLoginAction (启动应用不带url参数)
//带url参数
am start -a android.intent.action.VIEW -d http://www.baidu.com
Starting: Intent { act=android.intent.action.VIEW dat=http://www.baidu.com }
//带类型(t)参数
am start -a android.intent.action.VIEW -d file:///sdcard/image.jpg -t image/*
am start -a android.intent.action.VIEW -d file:///sdcard/audio.mp3 -t audio/*
am start -a android.intent.action.VIEW -d file:///sdcard/video.3gp -t video/*
(3)启动Service
命令:
am startservice -a {指定的action}
am startservice {指定的action}
示例:
am startservice -a android.service.DreamService
am startservice android.service.DreamService
(4)停止Service
命令:am stopservice {指定的action}
示例:am stopservice android.service.DreamService
(5)发送广播
命令:am broadcast {指定的action}
示例:am broadcast android.intent.action.CLOSE_SYSTEM_DIALOGS (Home键广播)
貌似Android9上不起作用!
二、pm
操作应用程序包,PM工具的含义为Package Manager。
(1)列出安装包的信息
命令:pm list packages -f
该命令查看的信息也可以通过/data/system/packages.xml来查看。
(2)禁止包、清除包数据
禁止包(或者组件),清除包的数据,可以排除个别包的影响。
pm disable {包名.组件名}
pm enable {包名.组件名}
pm clear {包名}
(3)安装应用包
命令:
pm install {apk的path}
pm install -r {apk的path}
示例:
pm install /sdcard/dangbei.apk
pm install -r /sdcard/dangbei.apk
指定路径,进行安装
pm set-install-location
pm get-install-location
(4)卸载应用包
命令:pm uninstall {包名}
示例:pm uninstall com.xxx.qiyivideo
三、input
input工具可用于模拟用户的按键输入和文本输入。
(1)按键输入
命令:input keyevent {按键键值}
示例:input keyevent 23
(2)文本输入
命令:input text {文本}
示例:input text u r my eyes
Android 4.0+才可以使用tap和swipe子命令。
四、ime
ime工具用于输入法管理。
(1)列出输入法
命令:ime list
(2)选择输入法
命令:ime set