鸿蒙开发:基于DevEco Studio插件实现组件化运行

前言

本项目API>=13

上一篇文章,我们通过手动实现了单一组件运行的效果,但是奈何更改的地方比较多,如果每次运行都手动进行更改,则会极大的降低开发效率,并且,稍不留神,某个地方未注意到改错了,又会增加试错的成本,那么基于此,我们可以通过自动化脚本,hvigor插件以及DevEco Studio插件来辅助我们快速的切换。

前两种形式,之前的文章分享过,关于重构后的使用方式,我们放到之后的文章中概述,本篇文章,我们重点概述一下利用DevEco Studio插件,来快速的实现组件化运行。

插件使用

目前插件包已经上传到了github,大家可以按需下载,地址如下:

https://abnerming888.github.io/vip/load/HarmonyComponent-sign-1.0.jar

记得之前在json转对象一文中,有过简要说明,就是目前的DevEco Studio有自己的白名单控制,jetbrains插件市场中插件,在DevEco Studio是无法被搜索到的,所以,这里只能提供本地的安装方式。

image.png

本地安装也是非常的简单,打开设置,点击左侧的Plugins,点击设置图标,点击本地安装,Install Plugin from Disk…,找到你下载好的插件,确定打开后,点击底部的应用即可,一般不需要重启IDE,如果未生效,您可以重启IDE。

image.png

插件安装之后,您可以通过点击顶部的Run菜单,第一个选项便是组件化工具,当然了,您也可以通过快捷键来实现,Windows是ctrl+alt+K,MAC是option+command+k,如下图所示。

image.png

点击后就会弹出如下的窗口,非常的简洁:

image.png

选择您需要执行组件化的模块,点击确定即可,它会自动把当前的模块修改为可运行状态,并且把之前的运行模块更改为共享模块。

当你切换模块之后,运行之前,请务必选择切换的模块,因为原有的模块已经改为共享包了,是无法运行的,也就是,组件化切换和运行模块需要保持一一对应。

image.png

错误类型

错误一: 00401021/00401022。

如果你切换模块,点击运行报如下的错误:

image.png

image.png

那是因为你没有同步和刷新项目所至,你可以点击下面的Sync and Refresh Project即可解决。

image.png

错误二、install entry already exist

是因为,目前设备上已经有安装的同包名的应用了,直接点击蓝色的uninstall and reinstall the modules,即可解决。

image.png

错误三、运行正确,没有启动默认的ability。

如果你运行正常,但是设备上没有打开默认的页面,如下提示,那是因为你的模块还未有选择默认的launch。

image.png

选择编辑配置:

image.png

打开你要运行的模块,在Launch处,选择默认的Ability即可。

image.png

相关总结

切换模块之后,务必执行以下:Sync and Refresh Project,仅仅切换后执行一次即可,还有就是设置默认的启动页面,也就是每个模块第一次切换时设置一次即可,通常第一次配置之后,后续便不在配置。

如果插件,您在使用的时候遇到了问题,可第一时间联系我,我一定及时的去解决。

本文标签:鸿蒙开发工具/DevEco Studio

#鸿蒙开发#
鸿蒙点石成金 文章被收录于专栏

简单的也好,复杂的也罢,关于HarmonyOS,总要深入浅出,总要步步为赢。

全部评论

相关推荐

手撕:合并n个链表你用了优先队列(Priority Queue),这种做法本质上属于哪类排序?该算法的时间复杂度和空间复杂度各是多少?除了优先队列+虚拟节点方案,你有没有想到其他更优解?对“基本有序”数组,哪种排序最优?为什么?请讲解快速排序的核心思想与流程。如何快速从无序数组中找出第K大的元素?(如第3大、第10000大等)最优解可否用堆?可否用快速选择(Quickselect)?用3–5分钟重点介绍一个你参与度高、技术含量突出的项目。你了解哪些开源RPC框架?请详细讲一下阿里Dubbo的注册/发现机制、核心功能及优缺点。令牌桶限流原理是什么?关键点在哪里?你还知道哪些限流策略(固定窗口、滑动窗口、漏桶等),它们各自优缺点是什么?你对Spring源码做过哪些研读?关注了哪些模块?在Spring MVC中,IOC容器的两个最核心职责是什么?能否详细讲解Spring容器的启动、类加载、Bean定义解析、依赖注入全过程?JVM类加载双亲委派流程是怎样的?如何打破它?请描述Java内存区域:堆、栈、方法区(永久代/元空间)、本地方法栈等。哪些区域可能抛出OutOfMemoryError?为什么Java 8将永久代改为元空间?它们在内存上的区别与优劣?为什么要把String设计为不可变?StringBuilder与StringBuffer有何区别?反射的优点和缺点有哪些?你是明年6月毕业吗?毕业后有考研打算吗?还是直接找实习/全职?实习时长打算多久?毕设时间安排如何?反问:技术团队主要负责哪些业务场景?部门日常开发中会用到哪些主流中间件或框架?对于本科生而言,哪些基础知识和能力比较重要?如果想深入某个方向,应当如何规划学习?
查看29道真题和解析
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务