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 ...
随机推荐
- 中间件面试专题:kafka高频面试问题
- #2020征文-开发板#SYS_RUN()和MODULE_INIT()之间的那些事
接触鸿蒙设备开发有一段时间了,也是时候好好挖一挖鸿蒙设备程序的启动流程了. 破冰问题:鸿蒙设备程序从哪里开始运行的? 相信大家都已经非常清楚了,鸿蒙设备程序需要指定入口函数,具体表现在代码层面就是通过 ...
- rsync 参数说明及使用参数笔记好文摘抄
一.前言 最近发现rsync挺好用的--不过参数有点多,所以这儿写一篇给自己以后要用的时候做个参考. 二.参数说明 这儿全是我翻资料连蒙带猜(有些实在是不好解释)翻译出来的,请各位转载的留个名啊,虽然 ...
- 20201126-1 txt文件筛选与读写【】
Exercise 1import os # 设置文件夹路径为'工作文件夹',获取文件夹下的所有文件和文件夹名称 path = './工作文件夹/' files_list = os.listdir(pa ...
- ipad做windows副屏
利用iPad做windows的触摸显示屏 由于ios与windows不兼容,所以利用软件进行 主要的软件有三款:duet display:spacedesk:Splashtop Wired XDisp ...
- 安装VisualStudioCode
下载VisualStudioCode https://code.visualstudio.com/ 安装插件
- 什么是babel
什么是babel babel是一款基于node开发的工具,其功能是对es6的新语法和新特性进行转码.
- create-react-app 基于ts项目,使用react-router-dom搭建项目
准备工作 来个react项目 create-react-app 基于TS的项目 ts项目安装后 删除node_modules,重新 yarn install, 不然jsx会报错 安装React-rou ...
- Bootstrap留言板界面练习
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Java_day_01
一.方法的定义 方法的定义在Java中可以使用多种方式,如果在定义的方法名前面加上 public static 关键字,即可直接在主方法(main)中调用 public class Method{ p ...