当前位置: 首页 > news >正文

使用droidrun库实现AI控制安卓手机

使用droidrun库实现AI控制安卓手机


介绍

DroidRun 是一个框架,通过LLM代理控制 Android 设备。它允许您使用自然语言命令自动化 Android 设备交互。

安装环境

安装源码依赖

git clone https://github.com/droidrun/droidrun.git
cd droidrun
conda create --name droidrun python=3.11 -y
conda activate droidrun
pip install -e .

安装 ADB

  • Install ADB

    • macOS:

    • brew install android-platform-tools
      
    • Windows: 下载 Android SDK Platform Tools 平台工具并解压 ZIP 文件

  • 验证安装

    • (droidrun) ➜  droidrun git:(main) adb version
      Android Debug Bridge version 1.0.41
      Version 35.0.2-12147458
      Installed as /opt/homebrew/bin/adb
      Running on Darwin 24.4.0 (arm64)
      (droidrun) ➜  droidrun git:(main)
      

安装 DroidRun Portal 应用

  • 下载地址
安装到手机

这里我使用的安卓虚拟机

droidrun setup --path=/Users/hejh/Desktop/droidrun-portal-v0.1.0.apk

(droidrun) ➜  droidrun git:(main) ✗ droidrun devices
Found 1 connected device(s):• emulator-5554
(droidrun) ➜  droidrun git:(main) ✗ droidrun setup --path=/Users/hejh/Desktop/droidrun-portal-v0.1.0.apk
Using device: emulator-5554
Set DROIDRUN_DEVICE_SERIAL to: emulator-5554
Step 1/2: Installing APK: /Users/hejh/Desktop/droidrun-portal-v0.1.0.apk
Installation successful!
Step 2/2: Enabling accessibility service
Accessibility service enabled successfully!Setup complete! The DroidRun Portal is now installed and ready to use.

image-20250418145922350

image-20250418153347906

设置 API 密钥

  • 项目根目录创建一个 .env 文件或设置环境变量
# Choose at least one of these based on your preferred provider
export OPENAI_API_KEY="your_openai_api_key_here"
export ANTHROPIC_API_KEY="your_anthropic_api_key_here"
export GEMINI_API_KEY="your_gemini_api_key_here"

可以只设置OPENAI_API_KEY

验证设置

# Should list your connected device and show portal status
droidrun status

image-20250418153627098

运行Demo

  • droidrun "打开设置" --provider openai --model gpt-4.1-mini
    

image-20250418154853407

  • droidrun "打开Chrome,访问 www.baidu.com, 然后搜索 Weather" --provider openai --model gpt-4o
    

image-20250418162538378

相关文章:

  • Python读取Excel表数据转为JSON格式文件(详细优化版)
  • 软件研发技术团队管理规范
  • 怎么隐藏QTabWidget内的页面
  • 如何校验一个字符串是否是可以正确序列化的JSON字符串呢?
  • 优恩-具备浪涌保护功能的固态继电器UNRD0610-无触点开关器件‌
  • 理解和实现RESTful API的最佳实践
  • ros3d.js中动态改变pointCloud2点云数据的参数
  • vue2.6.12 安装babel 以使用 可选链 ?. 和空值合并 ??
  • 树莓派练习
  • 曲棍球·棒球1号位
  • Linux | I.MX6ULL 内核的编译(13)
  • LINUX学习——守护进程的含义及编程实现
  • KaliARP 攻击工具配置——简单局域网断网攻击
  • C言雅韵集:野指针
  • 团体程序设计天梯赛PTA-SHU冲刺赛4. L22-L32
  • 【AI学习】OpenAI:《A practical guide to building agents》(中文介绍与原文)
  • 无锡透平叶片将携尖端叶片登陆2025涡轮展,5月苏州相见
  • 《软件设计师》复习笔记(11.5)——测试原则、阶段、测试用例设计、调试
  • Linux文件类型
  • Day3-UFS深入学习路线
  • 中国船协发布关于美对华造船业实施限制措施的严正声明
  • 部分人员无资质展业、投资建议无合理依据,天相财富被责令改正
  • 泸州市长余先河已任四川省委统战部常务副部长
  • 江西农商联合银行正式挂牌开业
  • 恒安集团创始人许连捷逝世
  • 【社论】让民营企业在上海大显身手