You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python使用ppadb在安卓设备上启动指定应用?

正确实现方法

你可以直接用 Android 系统自带的 am 命令完成应用启动,不需要依赖界面坐标操作,完全符合你的需求。

只知道包名的最简写法(不需要提前获取启动Activity)

直接替换你代码里的phone.shell(????????????????)为如下内容即可,仅需传入你要启动的应用包名:

# 替换com.your.target.package为你要启动的应用的实际包名
phone.shell("monkey -p com.your.target.package -c android.intent.category.LAUNCHER 1")

这个方案会自动匹配目标应用的桌面启动入口Activity,无需额外查询Activity信息。


已知启动Activity的写法

如果你明确知道目标应用的启动Activity全称(格式为包名/Activity类名,比如com.tencent.wechat/.ui.LauncherUI),可以用更稳定的am start命令:

phone.shell("am start -n com.tencent.wechat/.ui.LauncherUI")

额外优化建议

  • 你当前代码里的phone.shell行写在了if __name__ == '__main__'代码块外部,运行时会因为找不到phone变量报错,需要缩进放到main块内包名遍历逻辑之后。
  • 不要用list作为变量名,会覆盖Python内置的list关键字,建议改成package_list之类的命名。
  • 启动应用前可以加个包名校验逻辑,避免目标包不存在导致执行失败:
target_package = "com.your.target.package"
package_list = phone.list_packages()
if target_package in package_list:
    phone.shell(f"monkey -p {target_package} -c android.intent.category.LAUNCHER 1")
else:
    print(f"未找到应用{target_package}")
  • 如需关闭应用可以调用phone.shell(f"am force-stop {target_package}")。

内容的提问来源于stack exchange,提问作者Pythonista

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:15:04