鸿蒙开发:hvigorw,一个你不得不去了解的神器
前言
本文基于DevEco Studio 5.0.5 Release
可能有老铁一上来就会产生一个疑问,hvigorw,这是一个什么东西?好像也没什么用处啊,哎,可别那么说,hvigorw,可是无时无刻不在陪伴着你,少了它,可以这么说,鸿蒙开发就立马终结,就是这么重要。
这里首先做一个混淆解读,hvigorw作为Hvigor的wrapper包装工具,它的主要作用是,支持自动安装Hvigor构建工具和相关插件依赖,以及执行Hvigor构建命令 ,和我们项目中的hvigorfile.ts和hvigor-config.json5可不是一码事,千万不要弄混淆了。
hvigorfile.ts这个文件,在我们的根项目中,它是应用级或Module级的编译构建任务脚本,开发者可以自定义编译构建工具版本、控制构建行为的配置参数。

hvigor-config.json5文件则是在项目中的hvigor目录下:

它的主要作用是,指定当前工程的开发态构建工具版本号、构建任务和脚本的依赖版本等;指定构建工具的相关能力,包括日志级别、执行策略等;指定构建的运行时node的相关配置参数,以及其他传递给构建脚本的额外参数等。
一个是用于编译构建,一个是配置构建,所以大家要注意识别区别。
有的老铁就说了,hvigorw用处在哪,我怎么没见过?
hvigorw的用处可多了,我们是否有想过,当你点击了运行按钮,代码是如何运行到模拟器或手机上的?没错,就是通过hvigorw。
当我们点击运行时,可以在底部控制台中的Build选项中看到,hvigorw执行的任务。

当我们点击导航栏中的Clean Project:

发现,还是hvigorw在帮助我们执行清除项目。

可以发现hvigorw几乎是无处不在,在接下来的流水线打包,它的作用更是举足轻重,无可替代。
hvigorw环境配置
针对hvigorw使用,目前有两种方式,一种是使用DevEcoStudio sdk自带的,第二种是下载HarmonyOS 应用开发所用到的系列工具,Command Line Tools,目前两种都可以使用。
DevEcoStudio自带的hvigorw
如果使用DevEcoStudio自带的需要加上node一起使用,打开一个鸿蒙项目,打开底部的终端,使用node,然后加上hvigorw.js路径即可,比如我要查询当前的hvigorw版本,如下便可以获取,能够正确显示出hvigorw的版本,则证明是正确的。

有的同学可能会说,hvigorw.js路径在哪里呢?它在你DevEcoStudio安装的tools目录下,你也可以按照这种方式进行获取,当你执行运行项目或者清除项目缓存时,是不是在Build中有执行命令的记录,在第一行你就可以查看到hvigorw.js的路径,其实我们看到,系统也是这么执行的。

需要注意的是,如果你的node配置了环境变量,可以直接使用node,如果没有,还请仿照上图中系统的执行进行加上全路径。
以上呢,是我Mac电脑的命令执行,如果你是windows系统,需要把hvigorw.js的路径加上双引号。
Command Line Tools使用
Command Line Tools,它是集合了 HarmonyOS 应用开发所用到的系列工具,包含了很多的实用工具,比如SDK 管理 sdkmgr,代码检查 codelinter,三方库的包管理 ohpm,命令行解析 hstack,使用它需要单独去官网下载:
下载地址如下:
https://developer.huawei.com/consumer/cn/download/command-line-tools-for-hmos
选择对应的系统版本下载即可。

下载好之后,下一步就是环境配置,如果你是windows系统,在系统或者用户的PATH变量中,添加hvigorw的路径${COMMANDLINE_TOOL_DIR}/command-line-tools/bin,其中COMMANDLINE_TOOL_DIR是命令行工具的安装路径;Mac的话,打开终端工具,执行以下命令:
export PATH=${COMMANDLINE_TOOL_DIR}/command-line-tools/bin:$PATH
环境配置好之后,切换到工程根目录,执行如下命令,如果能够查询Hvigor版本信息,确认安装成功。
hvigorw -v
相关总结
本来打算继续介绍hvigorw的相关命令的,奈何篇幅有点太长了,我们放到下一篇文章中来概述吧,这篇文章,最主要的就是学会hvigorw的简单使用,能够正确的显示出版本号即可,至于两种用法,都可以使用,主要还是看大家自身需要。
本文标签:鸿蒙开发工具/DevEco Studio
DroidRun:大模型可以控制手机

DroidRun的基本介绍
DroidRun作为一款基于大型语言模型(LLM)的开源Android自动化工具,其独特之处在于通过自然语言指令实现对移动设备的全面控制[[3]]。这一特性使其在移动设备交互领域占据重要地位,尤其在简化复杂操作、提升用户体验方面展现了显著优势。DroidRun于2025年4月17日正式开源,并托管在GitHub上供开发者自由探索其功能[[8]]。作为一个创新性的解决方案,该项目不仅展示了AI在移动自动化中的潜力,还为个人用户和专业开发者提供了高效且灵活的工具。
起源与发展历程
DroidRun的概念最初可追溯至《星球大战:前线》中一种名为“Droid Run”的多人游戏模式[[5]]。尽管该模式与当前项目并无直接关联,但其强调小规模团队协作和动态目标保护的设计理念,为后续类似项目的开发提供了灵感。正式意义上的DroidRun项目由一个专注于AI技术应用的开发团队创建,旨在通过人工智能增强用户与系统的互动性。其发布标志着AI在移动设备自动化领域的进一步渗透,同时也表明开发者社区对创新工具的高度关注。
核心特性与技术定位
DroidRun的核心特性在于其通过自然语言处理(NLP)实现对Android设备的全面控制。具体而言,它利用LLM Agent解析用户的自然语言指令,并将其转化为具体的设备操作序列[[8]]。例如,用户可以通过简单的语句如“发送一条消息给张三并提醒我明天早上9点开会”来完成复杂的任务链。这种能力使DroidRun在简化操作流程方面具有显著优势,尤其适用于社交媒体管理和日常任务自动化等场景[[3]]。
此外,DroidRun具备模块化设计的优势,系统架构分为两个主要组件:LLM Agent和DroidRun Portal App。前者负责指令解析,后者则充当手机与DroidRun之间的桥梁,接收并执行具体动作[[8]]。这种设计不仅提高了系统的灵活性,还为其未来的功能扩展奠定了坚实基础。
开源生态与市场潜力
作为一个开源项目,DroidRun允许开发者根据需求进行定制化开发,从而满足不同行业的需求[[3]]。截至2025年4月17日,该项目在AIbase上的浏览量已达到850次,显示出市场对其的高度兴趣[[8]]。预计未来将有更多插件和扩展被开发出来,以进一步丰富其功能模块。同时,其模块化设计和支持多种应用场景的特点预示着未来可能吸引更多第三方插件开发者的参与。
下表总结了DroidRun与其他类似工具的功能对比:
特性/工具
DroidRun
Rabbit Android Agent
Sim Studio
开源状态
是
否
是
核心技术
LLM驱动
AI代理
多步任务编排
主要应用场景
移动自动化
跨应用任务协调
任务流优化
是否支持插件扩展
是
否
是
发布时间
2025年4月17日
研究预览阶段
未提及
从表格中可以看出,DroidRun的核心优势在于其开源性质以及对自然语言指令的支持,这使其在生态系统建设方面具有更大的灵活性和发展空间。
DroidRun的核心能力
DroidRun的核心能力体现在其架构设计与模块化实现方式上,这些特点共同构成了其高扩展性和强大性能的基础。本文将深入探讨其系统架构的主要组件、模块化设计的具体实现方法、分层架构与依赖注入对性能的优化,以及其高扩展性与硬件平台适配能力。
系统架构的主要组件及其分工逻辑
DroidRun的系统架构主要由两个核心组件构成:LLM Agent和DroidRun Portal App。LLM Agent作为系统的“大脑”,负责解析用户的自然语言指令并将其转化为可执行的操作序列[[2]]。这一过程涉及复杂的多步骤指令解析,例如从语义理解到操作路径规划,要求系统具备高效的算法支持和灵活的任务调度能力。Portal App则充当手机与DroidRun之间的桥梁,接收来自LLM Agent的指令并在设备上执行具体动作[[2]]。
例如,在用户通过自然语言命令发送消息时,LLM Agent会首先解析语义并生成相应的操作序列,随后Portal App将这些序列映射到具体的设备API调用中。这种模块化的架构设计使得DroidRun能够以较低的耦合性处理复杂任务,同时保持良好的灵活性和可维护性[[2]]。
模块化设计的具体实现方法
模块化是DroidRun系统设计的核心理念之一,其目标是通过将功能分解为独立模块来提高系统的可维护性和灵活性。每个模块具有明确的功能边界和接口定义,从而降低了模块间的依赖性。例如,任务调度、UI交互和资源管理等功能被划分为独立模块,便于开发者进行单元测试或集成测试[[10]]。
Gradle Version Catalogs和Hilt等工具的使用进一步增强了模块化设计的效果。通过依赖注入策略,模块间通信得以解耦,避免了直接依赖带来的复杂性。例如,UserRepository接口定义在领域层,而其实现位于数据层,这种分层设计确保了模块间的清晰边界[[12]]。此外,动态功能模块(Dynamic Feature Modules)技术的应用使得DroidRun能够按需交付功能,从而减少初始安装包大小并优化资源调度[[12]]。
以下模块划分及其功能描述展示了DroidRun的技术架构:
模块名称
功能描述
LLM Agent
解析用户的自然语言指令并转化为可执行的操作序列
Portal App
充当手机与系统之间的桥梁,负责接收指令并在设备上执行具体动作
Accessibility API
提取应用程序界面数据,为AI代理提供可靠的操作能力
自我纠正机制
在错误发生时自动调整策略,以保证任务顺利完成
分层架构与依赖注入对性能的优化
DroidRun的分层架构设计显著提升了其在多步骤指令解析和资源调度中的表现。UI层负责展示数据并通过状态持有者(如ViewModel)管理复杂性;数据层包含业务逻辑并由存储库(Repository)组成,每个存储库可以处理不同类型的数据源。这种分层设计不仅降低了组件间的耦合性,还提高了代码的可测试性和可维护性[[14]]。
依赖注入(DI)是另一个关键设计策略,通过Hilt库自动构造对象并提供编译时依赖保证。这一策略帮助DroidRun更清晰地管理各模块之间的依赖关系,同时支持快速切换测试与生产环境。例如,在处理大规模并发任务时,依赖注入模式有助于解决内存管理和线程同步问题,从而进一步优化整体性能[[14]]。
高扩展性与硬件平台适配
DroidRun的模块化和分层架构为其高扩展性奠定了坚实基础。通过分离关注点原则,业务逻辑被集中在独立模块中,这使得系统能够更好地适应不同硬件平台的需求。例如,Kotlin Multiplatform技术的引入可能为DroidRun提供跨平台支持,从而扩大其生态系统覆盖范围[[12]]。此外,动态功能模块技术的应用使得DroidRun能够根据不同用户群体的需求灵活调整功能组合,例如为企业用户提供高级功能,同时为个人开发者提供轻量级版本[[10]]。
未来,随着开源社区的增长,DroidRun有望进一步拓展其功能,例如增强兼容性或应用于人工智能与大数据领域。这种社区驱动的模式不仅推动了功能优化,还为构建长期可持续的生态系统提供了可能性[[3]]。
综上所述,DroidRun通过模块化设计、分层架构和依赖注入策略的综合应用,成功实现了高扩展性和大规模并发任务处理能力。其系统架构的灵活性和可维护性为未来的功能优化和生态建设奠定了基础,同时也为类似工具的设计提供了宝贵的参考经验。
DroidRun的应用例子
DroidRun的实际应用案例涵盖了从社交媒体管理到日常任务自动化的广泛领域,充分展示了其技术优势和市场潜力。以下将从社交媒体管理、电子商务数据提取、跨应用任务编排以及安全分析四个方面详细探讨DroidRun的应用实例。
社交媒体管理
DroidRun在社交媒体管理和日常任务自动化中的表现尤为突出。例如,用户可以通过简单的自然语言输入命令执行诸如发送消息、安排提醒或自动化重复性任务等操作。这种能力显著提升了用户体验,并展示了LLM在实际移动应用开发中的潜力[[3]]。在一个具体的案例中,某企业使用DroidRun自动管理其多个社交媒体账户的内容发布计划。通过自然语言指令,系统能够根据预设的时间表自动发布内容,并实时监控互动数据。用户反馈显示,DroidRun的易用性得到了高度评价,特别是在降低技术门槛方面表现优异[[1]]。
以下是几个详细的社交媒体管理应用实例:
定时发布推文 用户设置指令:“每天早上9点发布一条推文,内容为‘早安!今天的目标是XXX’。”执行步骤:定时触发→生成推文内容→调用Twitter API发布。预期成果:成功发布推文。内容计划自动化 某企业设定指令:“每周五下午3点发布本周总结文章。”执行步骤:提取文章链接→生成格式化文本→发布至LinkedIn。预期成果:按时完成内容发布,无需人工干预。电子商务数据提取
DroidRun在电子商务数据提取中的应用同样引人注目。假设某企业需要定期从特定电商平台抓取产品信息,DroidRun可以通过配置一个多步骤任务(登录账户→导航至目标页面→抓取所需数据),并将结果导出为CSV文件[[7]]。这种方法不仅提高了效率,还减少了人为错误的可能性。
以下是几个详细的电子商务数据提取应用实例:
价格监控 输入指令:“每周五抓取某平台的产品价格。”执行步骤:登录网站→定位目标页面→提取指定字段→保存为文件。预期成果:生成CSV格式的数据报告。库存更新 输入指令:“每天检查库存状态并记录变化。”执行步骤:访问后台系统→读取库存数据→生成更新日志。预期成果:实时掌握库存动态,优化供应链管理。跨应用任务编排
DroidRun在跨应用任务编排中的能力同样令人印象深刻。例如,它可以将Google Keep中的笔记内容整理成文档存储至Google Docs中[[1]]。这种跨应用操作逻辑不仅提升了效率,还为用户提供了无缝的使用体验。
以下是几个详细的跨应用任务编排应用实例:
笔记同步 输入指令:“将Google Keep中的笔记同步到Google Docs。”执行步骤:读取Google Keep笔记→生成文档模板→上传至Google Docs。预期成果:笔记内容成功迁移至Google Docs。数据整合 输入指令:“将多个来源的数据汇总至单一表格中。”执行步骤:提取数据→清洗和格式化→生成统一报表。预期成果:生成标准化的数据报告,便于分析和决策。安全分析与威胁建模
DroidRun在安全分析中的应用同样值得关注。例如,在漏洞检测和威胁建模方面,DroidRun能够通过集成静态代码分析和加密检查功能,发现潜在的安全隐患[[7]]。在一个医疗类应用的安全测试中,DroidRun通过对应用的API调用进行深度分析,识别出一处未加密的数据传输漏洞。该漏洞可能被恶意攻击者利用,导致敏感信息泄露。通过TLS协议加密客户端与服务器之间的数据传输,并实施严格的身份验证机制,DroidRun有效防止了未经授权的访问[[11]]。
以下是几个详细的安全分析应用实例:
漏洞检测 输入指令:“扫描应用中的安全漏洞。”执行步骤:分析API调用→识别未加密传输→生成修复建议。预期成果:发现并修复安全隐患,提升系统安全性。渗透测试 输入指令:“模拟外部攻击以评估系统防护能力。”执行步骤:执行攻击脚本→记录响应行为→生成测试报告。预期成果:识别潜在威胁,改进安全策略。下表进一步说明了上述四个场景的具体实施细节:
应用场景
输入指令示例
执行步骤概述
预期成果
社交媒体管理
“每天早上9点发布一条推文”
定时触发→生成推文内容→调用Twitter API发布
成功发布推文
电子商务数据提取
“每周五抓取某平台的产品价格”
登录网站→定位目标页面→提取指定字段→保存为文件
CSV格式的数据报告
跨应用任务编排
“将Google Keep中的笔记同步到Google Docs”
读取Google Keep笔记→生成文档模板→上传至Google Docs
笔记内容成功迁移至Google Docs
安全分析
“扫描应用中的安全漏洞”
分析API调用→识别未加密传输→生成修复建议
发现并修复安全隐患
以上案例充分展示了DroidRun在实际使用中的高效性和灵活性,同时也体现了其在不同行业中的潜在价值。
DroidRun的前景展望
随着人工智能(AI)、增强现实(AR)/虚拟现实(VR)、大数据等新兴技术的快速发展,移动自动化工具的技术边界被不断拓宽。在此背景下,DroidRun作为一款基于Android Accessibility Services构建的创新性工具,其未来发展方向和市场潜力值得深入探讨。本文将结合当前技术趋势,从潜在应用场景、商业化机会、市场竞争力以及生态建设四个方面全面分析DroidRun的前景。
潜在应用场景的拓展
基于云原生解决方案和XR支持工具的兴起,DroidRun有望在未来拓展至AR/VR领域及其他跨行业应用场景。例如,Android Studio Narwhal | 2025.1.1引入了嵌入式XR模拟器和3D空间导航功能,这为开发者提供了更高效的沉浸式体验开发环境[[16]]。结合这一趋势,DroidRun可以探索在AR/VR场景中的任务自动化能力,例如通过模拟用户交互实现虚拟环境中复杂操作的自动化执行。此外,DroidRun还可以借助多模态Gemini集成工具,通过视觉输入编排任务。这种能力不仅能够提升用户体验,还能为教育、游戏、工业设计等领域提供全新的解决方案。例如,在工业AR应用中,DroidRun可以协助工程师完成设备维护过程中的自动数据记录和分析任务,从而提高工作效率。
商业化机会与投资趋势
在人工智能和大数据领域的商业化机会方面,DroidRun具备广泛的应用潜力。医疗、自动驾驶和电子商务等行业对高效数据处理和任务自动化的需求日益增长。以医疗为例,FDA在2023年批准了223个基于AI的医疗设备,远高于2015年的6个[[2]]。这表明AI技术正在快速渗透到传统行业中。DroidRun可以通过其强大的UI层次结构解析能力,帮助医疗机构提取电子健康记录(EHR)系统中的关键信息,并自动生成报告。类似地,在自动驾驶领域,DroidRun可以用于大规模测试场景中的数据采集和分析工作,从而加速算法迭代。此外,生成式AI的快速发展也为DroidRun提供了新的机遇。例如,通过与生成式AI模型集成,DroidRun可以为用户提供个性化推荐或智能化内容生成服务。
市场竞争力与成本优化
然而,要充分发挥这些潜力,DroidRun需要面对激烈的市场竞争并不断提升自身竞争力。根据斯坦福大学2025年AI指数报告,全球企业在AI领域的投资总额达到创纪录的2523亿美元,其中美国占据主导地位[[2]]。尽管如此,开源社区的力量正在显著缩小闭源模型与开源模型之间的性能差距,这为DroidRun这样的开源项目创造了有利条件。目前,已有超过800名开发者在72小时内加入DroidRun的等待名单,显示出该项目在开发者群体中的高度认可度[[6]]。为了进一步扩大市场份额,DroidRun还需优化其成本效益比。数据显示,AI模型的使用成本在过去两年内大幅下降,例如在MMLU基准上达到GPT-3.5水平的模型推理成本减少了280倍以上[[2]]。因此,DroidRun若能提供经济高效的解决方案,将有助于吸引更多企业用户。
生态建设与长期发展
最后,DroidRun的生态建设规划是决定其长期成功的关键因素之一。一个健康的开源生态系统不仅依赖于核心团队的努力,还需要广泛的社区参与。DroidRun已经采取了开放协作模式,鼓励开发者通过代码贡献、文档改进、严格测试等方式参与项目发展[[6]]。此外,模块化架构的应用将进一步增强DroidRun的扩展性和灵活性。例如,Reza Ramesh在其文章中提到,Gradle Version Catalogs和Hilt等工具可以帮助实现清晰的边界划分,从而减少模块间的耦合性[[12]]。对于DroidRun而言,采用类似的模块化策略不仅可以提升系统的可维护性,还能吸引更多第三方插件开发者加入生态。与此同时,Kotlin Multiplatform技术的引入可能使DroidRun实现跨平台支持,进而覆盖iOS用户群体[[12]]。这种跨平台能力将极大丰富DroidRun的应用场景,同时为其带来更多商业合作机会。
综上所述,DroidRun凭借其独特的技术优势和灵活的架构设计,具备在多个新兴领域拓展应用的可能性。然而,要实现这一目标,它需要克服技术挑战、优化成本结构,并持续推动生态建设。未来研究方向应聚焦于如何进一步整合生成式AI技术和XR工具,同时加强在隐私保护和伦理合规性方面的实践。只有这样,DroidRun才能在竞争激烈的市场中脱颖而出,成为移动自动化领域的标杆产品。
结论
DroidRun凭借其创新性的设计和技术优势,正在成为移动设备自动化领域的标杆项目,并为类似工具的设计提供了宝贵的参考经验。其通过自然语言处理技术大幅降低了用户与设备交互的技术门槛,使得非技术背景的用户也能轻松实现复杂操作。同时,其开源性质和模块化设计为开发者提供了广阔的空间,有助于构建长期可持续的生态系统[[3]]。应用场景涵盖从社交媒体管理到日常任务自动化的广泛领域,展示了LLM在实际移动应用开发中的巨大潜力。
然而,DroidRun仍处于早期发展阶段,未来还需在视觉识别、自修复机制等方面进一步优化。例如,在复杂情况下如何提升系统的鲁棒性是一个值得深入研究的方向。此外,随着开源社区的增长,DroidRun的功能拓展和兼容性提升也将成为关键课题[[8]]。总体而言,DroidRun不仅为移动设备自动化提供了新思路,也为类似工具的设计提供了宝贵的参考经验。
相关问答
如何将H和W这两个字母设计成花体_作业帮
[回答]在ps里,用文字蒙版工具做出H和W这两个字母的选区然后找自己想要的花体的图案放在新建图层里然后反选,删除.字母就呈现花体的形状!~在ps里,...
我的手机文件管理上文档块出现HTML查看器是什么?
应该是使用的文件管理不是很稳定的问题吧,才出现这样的东西。先进行手机上的系统重新设置在操作其他的。如应用宝、谷歌这样软件上的文件管理可以安装到手机...
茄子app免费下载安装(2024已更新(今日/图吧地图)
资讯软件博客专区问答活动工具培训众包APPGitee登录注册开源软件库/在线IT服务网站/Git开源工具/版本控制系统/GitHub茄子app免费下载安装熟悉规则...
手机dump.gc文件下的这些hprof文件是什么?能删除吗?
一个heapdump就是一个程序heap的快照,可以获知程序的哪些部分正在使用大部分的内存。它保存为一种叫做HPROF的二进制格式。对于Android执行android.os.Debug...
HHS是什么材质的?
HHS的材质是高速工具钢。HHS是英文Highhpeedsteels的缩写,相应的中文名是高速钢,高速钢是制造刀具的一种常用材料。HHS又名风钢或锋钢,意思是淬火时即使在...
“夯”这个字怎么读?_作业帮
hāng〈名〉(会意.从大,从力.表示劳动时需要出大气力.本义:劳动中使劲时发出...引申筑实地基的工具)同引申义[rammingtool;rammer;punner].如:用夯筑堤夯h...
hhu是什么意思?
1.手持单元本通信规约标准适用于北京地区HFC网络集抄单相多功能电能表及手持单元(HHU),集中采集单元,子网管理器等设备进行点对点的或一主多从的数据通信交...
kksetup是什么软件?
kksetup是一款文件之间的转换工具的软件,kksetup这款软件可以帮助用户将hxs格式的文件转换为doc的文件,方便用户在word文档里继续编辑,软件可与使用支持强大搜...
vienchg是什么包?
1.vienchg是一个Python包。2.vienchg是一个用于处理和分析生物信息学数据的工具包。它提供了一系列的函数和方法,可以用于基因组、转录组和蛋白质组数据的处...
以h开头的交通工具_作业帮
[最佳回答]helicoptercarrier(直升机航母)high-speedrailway(高铁)