在 Android 开发以及测试中,经常遇到需要启动一个没有启动图标的apk,这个时候可以使用 pm 以及 am 命令来配合,启动相应apk。
主流程:
- pm 获取apk包名
- pm 获取apk详细配置信息,主要是相应启动 Activity 的类的路径
- am 启动相应 Activity 的类
简单实践:
- pm 获取apk包名
连接 adb 后,输入
shell@rk3368_32:/ $ pm list packages
输出
... package:com.android.captiveportallogin package:android.rk.RockVideoPlayer
得到相应的包名为 android.rk.RockVideoPlayer
2. pm 获取apk详细配置信息,主要是相应启动 Activity 的类的路径
输入
pm dump android.rk.RockVideoPlayer
输出
... Non-Data Actions: android.intent.action.MAIN: 3d093a3c android.rk.RockVideoPlayer/.RockVideoPlayer android.intent.action.VIEW: 26ecb42f android.rk.RockVideoPlayer/.VideoPlayActivity
得到相应启动 Activity 的类的路径为 android.rk.RockVideoPlayer/.RockVideoPlayer
3. am 启动 Activity 类的路径
输入
am start -n android.rk.RockVideoPlayer/.RockVideoPlayer
即可启动相应 Activity。
掌握这个方法后,可以方便以后的自动化测试。