【HarmonyOS】元服务启动命令漫谈

在日常开发中,我们可以通过DevEco Studio,直接Run我们的元服务工程,在测试机上拉起我们开发的元服务页面。但是我们自己打包HarmonyOS元服务hap在手机上安装后是没有桌面图标的。虽然我们可以在设置的服务管理中找到我们安装的元服务,但是无法直接打开,这就需要通过命令行的方式来启动了。

【切入点】

我们主要从IDE工具是如何启动元服务的过程来探索对应的启动命令,这边对API6-API8和API9做一个区分,原因在下文的内容中会有对应的描述。

【HarmonyOS API6-API8】

API6-API8的工程都是基于FA模型开发的,在IDE Run的过程中,我们可以在Run窗口中看到以下命令:

cke_12519.png

这边对输出框中的命令做一下相关的解释

1、$ hdc shell am force-stop com.example.arktsdemo

这边的am force-stop命令是强制关闭应用的命令,后面加的是需要关闭的bundleName

2、$ hdc shell bm uninstall com.example.arktsdemo

bm uninstal这个命令就比较简单了,是用来删除设备上对应bundleName的应用

3、$ hdc file send D:\AGC_Codelabs\Codelabs\ohos_ArkUI\ArkTsDemo\entry\build\default\outputs\default\entry-default-signed.hap /sdcard/c27bd3aeb0334f0caebc9749a5f3ff42/entry-default-signed.hap

这个命令是把我们IDE中编译好的outputs下的hap文件推送到连接的HarmonyOS设备中,前一个路径是本地hap路径,后一个路径是设备中的文件路径

4、$ hdc shell bm install –p /sdcard/c27bd3aeb0334f0caebc9749a5f3ff42/

然后通过bm install –p的方式安装上一步文件夹中的所有hap包

5、$ hdc shell rm –rf /sdcard/c27bd3aeb0334f0caebc9749a5f3ff42

安装完成后删除设备中接收文件的临时目录

上面这几个步骤是在所有版本上透视统一的,下面我们主要讲一下,安装完成后IDE是如何拉起对应应用的,这个拉起的命令在不同版本和不同的开发模式下都是不一样的

首先API6-API8的FA工程中命令如下:

$ hdc shell aa start -p "com.example.arktsdemo" -n "com.example.arktsdemo.MainAbility" -a action

这边-p 后放的是需要启动的PackageName,在config.json中对应是的hdc shell aa start -p

-n 后放的是对应启动的AbilityName,对应的是config.json中的"mainAbility"字段

-a 存放的是action,我们可以省略这个字段,直接通过下面的命令也可以启动应用:

hdc shell aa start -p "com.example.arktsdemo" -n "com.example.arktsdemo.MainAbility"

【HarmonyOS API9】

FA模型:

cke_16346.png

$ hdc shell aa start -a com.example.quickfixfa.MainAbility -b com.example.quickfixfa

这边的命令就跟之前的不同了,使用的是-a和-b,

-a 表示需要启动的abilityName,-b 需要启动的 bundleName

“com.example.quickfixfa”对应的是config.json里的bundleName

“com.example.quickfixfa.MainAbility”对应的是config.json中的"mainAbility"字段

Stage模型:

cke_18653.png

$ hdc shell aa start -a EntryAbility -b com.example.quickfixdemo

需要注意的是这百年-a后对应的abilityName是“EntryAbility”,指的就是我们入口的EntryAbility

“com.example.quickfixdemo”对应的是app.json5中的bundleName

【Tips】

对于上面的abilityName和bundleName我们在IDE中其实是有地方可以查看的,在我们的打包输出的output目录下有下面这个文件,pack.info

cke_4618.png

打开pack.info文件,可以查看到对应的bundleName和mainAbility字段,这些字段就是我们上面启动所需要的字段。下图是API8 FA工程中的pack.info,mainAbility字段的值是“.MainAbility”对应的完整的abilityName还需要加上上面的bundleName,这就得到上面IDE中的“com.example.arktsdemo.MainAbility”

​然后我们打开API9 Stage模型工程,这边的mainAbility对应的“EntryAbility”前面是不带“.”的,也就是为什么abilityName我们只需要写成“EntryAbility”的原因

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
谈兼容内核之一:ReactOS怎样实现系统调用.pdf 漫谈兼容内核之二:关于kernel -win32的对象管理.pdf 漫谈兼容内核之三:关于kernel-win32的文件操作.pdf 漫谈兼容内核之四:Kernel-win32的进程管理.pdf 漫谈兼容内核之五:Kernel-win32的系统调用机制.pdf 漫谈兼容内核之六:二进制映像的类型识别.pdf 漫谈兼容内核之七:Wine的二进制映像装入和启动.pdf 漫谈兼容内核之八:ELF映像的装入_一_.pdf 漫谈兼容内核之九:ELF映像的装入_二_.pdf 漫谈兼容内核之十:Windows的进程创建和映像装入.pdf 漫谈兼容内核之十一:Windows DLL的装入和连接.pdf 漫谈兼容内核之十 二:Windows的APC机制.pdf 漫谈兼容内核之十三:关于“进程挂靠”.pdf 漫谈兼容内核之十四:Windows的跨进程操作.pdf 漫谈兼容内核之十五:Windows线程的等待和唤醒机制.pdf 漫谈兼容内核之十六:Windows的进程间通信.pdf 漫谈兼容内核之十七:再谈Windows的进程创建.pdf 漫谈兼容内核之十八:Windows的LPC机制.pdf 漫谈兼容内核之十九:Windows线程间的强相互作用.pdf 漫谈兼容内核之二十:Windows线程的系统空间堆栈.pdf 漫谈兼容内核之二十一:Windows进程的用户空间.pdf 漫谈兼容内核之二十二:Windows线程的调度和运行.pdf 漫谈兼容内核之二十三:关于TLS.pdf 漫谈兼容内核之二十四:Windows的结构化异常处理(一).pdf 漫谈兼容内核之二十五:Windows的结构化异常处理(二).pdf 漫谈兼容内核之二十六:Windows的结构化异常处理(三).pdf
Java安全漫谈是一本关于Java安全的书籍,深入探讨了Java应用程序在网络环境中的安全性和相关的安全漏洞。该书内容涵盖了Java安全基础、Java虚拟机的安全机制、Java安全管理、Java安全开发等方面的知识。 首先,Java安全基础部分介绍了Java安全模型的原理和特点,包括Java类库的安全特性、权限管理和访问控制、安全策略配置等。这部分内容可帮助开发人员了解Java应用程序的安全需求,并提供相应的解决方案。 其次,Java虚拟机的安全机制是Java应用程序的基石。该书介绍了Java虚拟机的安全沙箱和类加载机制,并讨论了如何利用这些安全机制避免恶意代码的执行和隐患的防范。 此外,Java安全管理部分从用户角度出发,介绍了Java应用程序的安全管理工具和技术,如Java安全策略文件、权限管理和安全认证等。开发人员可以通过合理配置和使用这些工具来提高Java应用程序的安全性。 最后,该书还涉及了Java安全开发过程中的一些最佳实践和常见安全漏洞,如输入验证、跨站脚本攻击(XSS)、SQL注入、跨站请求伪造(CSRF)等。通过学习和掌握这些知识,开发人员可以编写出更加安全的Java应用程序。 总而言之,Java安全漫谈是一本全面讨论Java安全的书籍,内容涵盖了Java安全基础、Java虚拟机的安全机制、Java安全管理和Java安全开发等方面的知识。它对于开发人员和安全从业人员来说,都是一本重要的参考书,有助于提高Java应用程序的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值