Android 启动“无启动图标的 apk“

在 Android 开发以及测试中,经常遇到需要启动一个没有启动图标的apk,这个时候可以使用 pm 以及 am 命令来配合,启动相应apk。

主流程:

  1. pm 获取apk包名
  2. pm 获取apk详细配置信息,主要是相应启动 Activity 的类的路径
  3. am 启动相应 Activity 的类

简单实践:

    1. 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。

掌握这个方法后,可以方便以后的自动化测试。