安卓@Python实战:一篇清晰易懂的Python操控手机APP攻略!( 二 )


1).显示所有包名

adb shell pm list packages
这个指令会罗列出手机已经安装的所有应用包的名称 , 如果后缀加上参数-s , 则会列出所有的系统应用的名称 , 而加上后缀参数-3则会列出所有第三方应用名称 , 如下:
? adb shell pm list package -3package:io.appium.settingspackage:com.example.android.contactmanagerpackage:com.kugou.android
2).显示活动程序
adb shell dumpsys activity activities
这个指令能够获取到当前手机系统中正在运行的程序包的名称 , 例如打开模拟器中已安装的酷狗音乐App , 运行上述指令就会获取到下述信息:
? ~ adb shell dumpsys activity activitiesRunning activities (most recent first):TaskRecord{4a9fe700 #2 A=android.task.kugou U=0 sz=1Run #0: ActivityRecord{4a96e0c8 u0 com.kugou.android/.app.MediaActivity t2mResumedActivity: ActivityRecord{4a96e0c8 u0 com.kugou.android/.app.MediaActivity t2mLastPausedActivity: ActivityRecord{4a921424 u0 com.kugou.android/.app.splash.SplashActivity t2 fmFocusedActivity: ActivityRecord{4a96e0c8 u0 com.kugou.android/.app.MediaActivity t2mDismissKeyguardOnNextActivity=falsemFocusedStack=ActivityStack{4a9e1488 stackId=1 1 tasks mStackState=STACK_STATE_HOME_IN_BACKRecent tasks:* Recent #0: TaskRecord{4a9fe700 #2 A=android.task.kugou U=0 sz=1numActivities=1 rootWasReset=true userId=0 mTaskType=0 numFullscreen=1 mOnTopOfHome=trueaffinity=android.task.kugouintent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER
flg=0x10200000 cmp=com.kugou.android/.app.splash.SplashActivity
realActivity=com.kugou.android/.app.splash.SplashActivityActivities=[ActivityRecord{4a96e0c8 u0 com.kugou.android/.app.MediaActivity t2
askedCompatMode=falselastThumbnail=null lastDescription=nulllastActiveTime=446142 (inactive for 13s)
上述信息被删除了一部分 , 其中realActivity后面的参数就是当前正在运行的Activity名称 , 稍微留意一下就会发现 , 这个名称相比上面的包名称要更加详细一些 , 实际在获取当前运行活动的App包名和Activity名方法还有很多种 , 比如:
adb shell dumpsys activity | grep mFocusedActivity
至于这个名称有什么用 , 我们马上就会提到 。
3).启动应用程序
adb shell am start -n 要启动的应用Activity名称
这里所使用的Activity名称就是刚才获取到的realActivity后面的参数 , 使用这个指令时要注意 , 启动APP一定要使用上一条命令获取到的Activity名称 , 不能使用adb shell pm list packages命令获取到的包名称 。 例如 , 我们如果要启动酷狗音乐 , 可以使用命令:
adb shell am start -n com.kugou.android/.app.splash.SplashActivity
如无意外 , 执行上述命令后 , 你会听到“Hello 酷狗” 熟悉的声音 。

而如果使用了下面这条命令是无法顺利启动应用的: