HarmonyOS分布式任务调度开发之--你必须知道的bundleName
背景
最近基于HarmonyOS在写一个通讯录的项目,已经完成了一个java版本的通讯录,通讯录数据全部存储在sqlite数据库中。现在在着手写一个JS版本的通讯录,这时候关于JS版本中数据的读取,我做了3个版本,一个版本是JS里面存储的静态数据,一个版本是java Springboot做了一个服务端进行http网络交互,前面两个是我们在Android或者Web开发中很常见的两种开发方式,第三种方式就是我后面要做的重头戏了,就是HarmonyOS特色的分布式任务调度开发,目前所有功能已基本开发完成,后续我会陆续推出所有的开发课程和开源所有代码。
在第三种方式中,主要是JS版本做页面呈现,所有数据来源于之前已经写好的JAVA版本中的数据库的数据,因此我需要在之前的java版本中创建一个PA用来提供数据访问,同时在JS版本的FA中调用PA的数据,由于之前JAVA版本中的数据库操作都已经被我以dao接口的方式封装完成,再编写出PA的代码SO EASY。
回归本篇文章要研究的问题,为何我这里要着重强调bundleName呢,那是因为博主在开发的时候被这个bundleName折腾了一会。因为我在开发一个项目或则课题研究的时候,使用DevEco Studio喜欢只创建一个Project,然后创建多个Module的方式,这样更方便我使用一个git进行管理起来。请看我下面的项目工程截图
这里我创建了3个Module,entry是自动创建的,我没有在里面写代码,addressbookbyjs和addressbookbyjava就是我分别编写的两个版本的通讯录app。
这个时候,由于我是做分布式任务开发,需要Java版本的app和JS版本的app进行通信,两个app我都需要安装到模拟器上,可是这个时候我发现,如果保持工程现状,我只能安装其它一个app到模拟器上,因为他们的bundleName相同,那么这个时候肯定有人会说将bundleName修改成不同或者再创建一个工程不就完事了?
是滴,创建一个工程并且换一个bundleName的名字肯定可以解决,但是这个不是我想要的。
我原有的工程的bundleName名称为com.example.wdproject,那么所有模块下自动都会是这个名称
于是我将其中JS版本的Module的bundleName修改一下,修改为com.example.myproject,以为就OK了,这个时候发现报错了,注意不是编译报错也不是运行报错而是安装报错,是已经编译出了HAP文件的,只是安装不上去。报错信息如下
解决方案:此时必须要把工程默认生成的entry模块的bundleName也同步修改成com.example.myproject才能生效,这个时候,JS版本的APP就可以成功安装上去了,那么再来安装JAVA版本的时候,又得将JAVA版本模块的和entry模块的bundleName修改成一致,并且还不能和之前的JS版本的一致,于是都将他们修改成为com.example.wdproject,那么这个时候两个app就都成功安装到模拟器上了,可以顺利的进行分布式调度的测试了。
注意:每次一定要记得同步修改entry的bundleName
成功安装之后的截图如下
作者:软通夏德旺
想了解更多内容,请访问: 51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com/
HarmonyOS分布式任务调度开发之--你必须知道的bundleName的更多相关文章
- 【vs调试】PDB 文件:每个开发人员都必须知道的
[vs调试]PDB文件:每个开发人员都必须知道的 GDB:The GNU Project Debugger, 将会包含代码中符号(自定义变量, 数据类型), 还有函数调用或类引用的关联性, 有了pdb ...
- PDB文件:每个开发人员都必须知道的
PDB Files: What Every Developer Must Knowhttp://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05 ...
- Webservice WCF WebApi 前端数据可视化 前端数据可视化 C# asp.net PhoneGap html5 C# Where 网站分布式开发简介 EntityFramework Core依赖注入上下文方式不同造成内存泄漏了解一下? SQL Server之深入理解STUFF 你必须知道的EntityFramework 6.x和EntityFramework Cor
Webservice WCF WebApi 注明:改编加组合 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下, ...
- 前端开发必须知道的JS(二) 闭包及应用
http://www.cnblogs.com/ljchow/archive/2010/07/06/1768749.html 在前端开发必须知道的JS(一) 原型和继承一文中说过下面写篇闭包,加之最近越 ...
- 前端开发必须知道的JS之闭包及应用
本文讲的是函数闭包,不涉及对象闭包(如用with实现).如果你觉得我说的有偏差,欢迎拍砖,欢迎指教. 在前端开发必须知道的JS之原型和继承一文中说过下面写篇闭包,加之最近越来越发现需要加强我的闭包应用 ...
- C#刨根究底:《你必须知道的.NET》读书笔记系列
一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...
- (转)【推荐】初级.NET程序员,你必须知道的EF知识和经验
转自:http://www.cnblogs.com/zhaopei/p/5721789.html [推荐]初级.NET程序员,你必须知道的EF知识和经验 阅读目录 [本文已下咒.先顶后看,会涨 ...
- 《你必须知道的.NET》读书笔记二:小OO有大原则
此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.单一职责原则 (1)核心思想:一个类最好只做一件事,只有一个引起它变化的原因 (2)常用模式:Fa ...
- MVC中你必须知道的13个扩展点
MVC中你必须知道的13个扩展点 pasting 转:http://www.cnblogs.com/kirinboy/archive/2009/06/01/13-asp-net-mvc-extensi ...
随机推荐
- pandas 删除列
ddf = pd.DataFrame({"id":[1,2,3], "name":[4,5,6],"age":[7,8,9]})ddf = ...
- RocketMQ开发者指南
1. 概念和特性 概念:介绍RocketMQ的基本概念模型 1 消息模型(Message Model) RocketMQ主要由 Producer.Broker.Consumer 三部分组成,其中Pro ...
- Vue 的父组件和子组件生命周期钩子执行顺序是什么
加载渲染过程父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount-&g ...
- Pytorch训练时显存分配过程探究
对于显存不充足的炼丹研究者来说,弄清楚Pytorch显存的分配机制是很有必要的.下面直接通过实验来推出Pytorch显存的分配过程. 实验实验代码如下: import torch from torch ...
- 深入解析volatile关键字
前言 很高兴遇见你~ 欢迎阅读我的文章. volatile关键字在Java多线程编程编程中起的作用是很大的,合理使用可以减少很多的线程安全问题.但其实可以发现使用这个关键字的开发者其实很少,包括我自己 ...
- WPF源代码分析系列一:剖析WPF模板机制的内部实现(一)
众所周知,在WPF框架中,Visual类是可以提供渲染(render)支持的最顶层的类,所有可视化元素(包括UIElement.FrameworkElment.Control等)都直接或间接继承自Vi ...
- 测试web-view,实现小程序和网页之间的切换
官方有句提醒:个人类型与海外类型的小程序暂不支持使用 测试条件: 1.小程序后台管理中,进入"开发设置",设置一个业务域名(注意:不是设置服务器域名).比如 https://tes ...
- 什么叫做ECS云服务器?
什么是ECS云服务器,阿里ECS云服务器与虚拟主机的区别是什么.以前,ECS云服务器还不带"云"字,只是叫做"服务器",毫无疑问"ECS云服务器&qu ...
- js--前端开发工作中常见的时间处理问题
前言 在前端开发工作中,服务端返回的时间数据或者你传递给服务端的时间参数经常会遇到时间格式转换及处理问题.这里分享一些我收集到的一些处理方法,方便日后工作中快速找到.先附上必须了解的知识内置对象传送门 ...
- Spring Boot 2.4 对多环境配置的支持更改
在目前最新的Spring Boot 2.4版本中,对配置的加载机制做了较大的调整.相关的问题最近也被问的比较多,所以今天就花点时间,给大家讲讲Spring Boot 2.4的多环境配置较之前版本有哪些 ...