🧪 Skills

openclaw-android

通过openclaw控制android手机,所有命令在手机内部执行,先su切换到root权限后执行后续命令,支持获取安装软件列表、打开和关闭app、操作app(点击、滑

v1.0.1
❤️ 0
⬇️ 149
👁 1
Share

Description


name: "openclaw-android" description: "通过openclaw控制android手机,所有命令在手机内部执行,先su切换到root权限后执行后续命令,支持获取安装软件列表、打开和关闭app、操作app(点击、滑动、输入文本)以及截图app。当用户需要控制android设备或执行app操作时调用。"

OpenClaw Android 控制器

功能说明

本技能通过OpenClaw工具控制Android手机,所有命令通过shell.sh脚本执行,脚本会自动处理su切换到root权限的操作,并记录执行日志用于调试,利用Android系统自带的命令如ampminputscreencap等,实现对Android设备的各种操作,包括:

  • 获取安装软件列表(系统应用和第三方应用)
  • 打开和关闭app
  • 操作app(点击、滑动、输入文本、按键操作)
  • 截图app

适用场景

  • 自动化测试Android应用
  • 远程控制Android设备
  • 批量执行Android设备操作
  • 监控Android设备状态
  • 管理已安装的应用
  • 对应用进行操作和截图

核心命令

1. 应用管理

启动应用

# 启动指定包名的应用
sh "$(dirname "$0")/shell.sh" start com.example.app/.MainActivity

# 启动应用并传递参数
sh "$(dirname "$0")/shell.sh" start com.example.app/.MainActivity --es key value

停止应用

# 停止指定包名的应用
sh "$(dirname "$0")/shell.sh" stop com.example.app

清除应用数据

# 清除应用数据
sh "$(dirname "$0")/shell.sh" clear com.example.app

2. 包管理

安装应用

# 安装APK文件(假设APK已在设备上)
sh "$(dirname "$0")/shell.sh" install /data/local/tmp/app.apk

卸载应用

# 卸载应用
sh "$(dirname "$0")/shell.sh" uninstall com.example.app

列出已安装应用

# 列出所有已安装应用
sh "$(dirname "$0")/shell.sh" list-packages

# 列出系统应用
sh "$(dirname "$0")/shell.sh" list-system

# 列出第三方应用
sh "$(dirname "$0")/shell.sh" list-third-party

3. 模拟输入

点击屏幕

# 在指定坐标点击屏幕
sh "$(dirname "$0")/shell.sh" tap x y

滑动屏幕

# 从(x1,y1)滑动到(x2,y2)
sh "$(dirname "$0")/shell.sh" swipe x1 y1 x2 y2

# 带延迟的滑动(毫秒)
sh "$(dirname "$0")/shell.sh" swipe x1 y1 x2 y2 duration

输入文本

# 输入文本
sh "$(dirname "$0")/shell.sh" text "Hello World"

按键操作

# 按下返回键
sh "$(dirname "$0")/shell.sh" keyevent 4

# 按下Home键
sh "$(dirname "$0")/shell.sh" keyevent 3

# 按下菜单键
sh "$(dirname "$0")/shell.sh" keyevent 82

4. 屏幕截图

截取屏幕

# 截取屏幕并保存到指定路径
sh "$(dirname "$0")/shell.sh" screenshot /sdcard/screenshot.png

# 截取屏幕到默认路径
sh "$(dirname "$0")/shell.sh" screenshot

5. 文件操作

查看文件列表

# 查看指定目录文件
sh "$(dirname "$0")/shell.sh" ls /sdcard/

# 查看当前目录
sh "$(dirname "$0")/shell.sh" ls

示例使用场景

场景1: 启动应用并点击按钮

# 启动应用
sh "$(dirname "$0")/shell.sh" start com.example.app/.MainActivity

# 等待应用加载
sleep 2

# 点击登录按钮(假设坐标为500,1000)
sh "$(dirname "$0")/shell.sh" tap 500 1000

# 输入用户名
sh "$(dirname "$0")/shell.sh" text "username"

# 点击密码输入框
sh "$(dirname "$0")/shell.sh" tap 500 1200

# 输入密码
sh "$(dirname "$0")/shell.sh" text "password"

# 点击登录按钮
sh "$(dirname "$0")/shell.sh" tap 500 1400

场景2: 截图

# 截取屏幕
sh "$(dirname "$0")/shell.sh" screenshot /sdcard/screenshot.png

场景3: 安装和测试应用

# 安装应用(假设APK已在设备上)
sh "$(dirname "$0")/shell.sh" install /data/local/tmp/app-debug.apk

# 启动应用
sh "$(dirname "$0")/shell.sh" start com.example.app/.MainActivity

# 执行测试操作...

# 卸载应用
sh "$(dirname "$0")/shell.sh" uninstall com.example.app

注意事项

  1. 所有命令都在Android手机内部执行,不需要ADB连接
  2. 所有命令通过shell.sh脚本执行,脚本会自动处理root权限切换
  3. 坐标操作需要根据设备屏幕分辨率进行调整
  4. 执行复杂操作时,建议添加适当的延迟以确保操作完成
  5. 大批量操作可能会触发设备的安全机制,请注意操作频率
  6. 每次执行命令都会在/sdcard/目录下生成日志文件,用于调试

故障排除

  • 权限不足: 确保设备已root,且su命令可用
  • 命令失败: 检查命令语法是否正确,确保包名和路径无误
  • 截图失败: 确保存储权限已授予,尝试使用不同的存储路径
  • 应用启动失败: 检查应用包名和Activity名称是否正确

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs