当前位置: 首页 > 科技观察

氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

时间:2023-03-16 21:13:32 科技观察

Disu-基于OpenHarmony成长计划.com知识赋能的学习笔记第1部分:鸿蒙介绍HUAWEIDevEcoStudio(以下简称DevEcoStudio)基于IntelliJIDEACommunity开源版本,一站式面向华为终端全场景、多设备的集成开发环境(IDE)。IDE:DevEcoStudio(同时支持HarmonyOS和OpenHarmony)界面和androidstudio非常相似,因为都是基于开源版的idea来改变智能生态。跨设备接口调用核心:安卓厂商可以自行开发相应的接口和功能,但不能让其他厂商适配使用HarmonyOS。系统可以运行在非常小的设备上,满足分布式能力,做到无屏鸿蒙三大能力的解释:分布式软总线从:发现-连接-健康-认证-物理通道选择-逻辑解决设备渠道保障。打通设备间的通信壁垒,自动实现通信质量。分布式任务调度保证分布式安全分布式数据管理解决了不同设备间信息实时同步的问题,具有高性能。(三大技术)分布式文件系统分布式数据库分布式检索新概念:软件定义硬件安装IDE后,会自动下载SDK。如有必要,只需下载所需的SDK。为什么要遵循JavaSDK?一个原因是我们在签名时使用了JavaSDK中的一个工具。SDKManagerPart2:InstalleTS3.0.0.0onDevEcoStudio3.0.0.800(mirroringcaused)这个是给自己的补充,不是老师和PPT讲的我遇到的IDE的坑1.安装SDK(APIVersion7-eTS3.0.0.0)安装失败:复制链接点击进入:给出JSSDK安装失败处理指南,清除缓存缓存。pmcacheclean-f还是不行:然后看日志:看不出具体问题:然后看完整的日志:使用淘宝镜像变成傻傻的pacote标签列表:怀疑是一个淘宝镜像问题:1.删除淘宝镜像,安装华为镜像,发现还是有问题。2.删除淘宝镜像,删除华为镜像【添加华为镜像】npmconfigsetregistryhttp://mirrors.tools.huawei.com/npm/【添加淘宝镜像】npmconfigsetregistryhttps://registry.npm.taobao.org/【清除镜像】npmconfigrmregistry+对应已经添加的镜像总结:以后遇到这种问题:第一步是CMD清缓存,第二步是替换镜像,淘宝,华为,挨着试试,第三个动作是删除所有镜像,替换成自带的2.中文插件因为刚刚下载的IDE是英文的,所以尤其是新手开发者很难,但是我们可以通过插件实现汉化。最终效果:插件安装步骤:(1)打开插件市场:File-settings(设置)->Plugins(插件)(绕了半天很正常,稍等一下,如果有不行,重新进入设置再试试)(2)安装中文语言包,重启IDE。第3部分;OpenHarmony&HarmonyOS支持对比的相关干货和详解开发语言:直播推荐JS语言(高效、高性能、成熟的语言生态),从命令式UI框架->声明式UI框架(TS/JS)效率提升30%。并提出了ArkUI框架:用于跨终端应用的前端开发。关于开发语言,这里是李传照老师的理解:鸿蒙应该选择什么语言作为开发语言?文章创作观点:鸿蒙团队需要明确引导开发者的技术路线。摘录文中部分讨论:JS:优点是学习成本低,发展势头强劲;缺点是性能有天花板,不擅长处理数据,语法比较随意。Java:优点是目前使用人数最多的语言,在Android上已经取得了成功;缺点是不擅长做接口,虚拟机,JNI一直为人诟病,可能存在致命的法律风险。新语言(可能叫仓颉Char):优点是可以重新设计,互相学习,有利于建立独立的生态;缺点是需要很大的精力去推广,需要一定的时间才能成熟,可能跟鸿蒙上手的节奏不太搭。创建OpenHarmony项目1.新建一个项目,设置包名,选择语言2.应用签名有四个文件,生成秘钥和证书申请文件,填写相应信息,最后生成相应的文件密钥:格式为.p12,包括非对称加密中使用的公钥和私钥存储在keystore文件中,公钥和私钥对用于数字签名和验证。证书申请文件:格式为.csr,包含密钥对中的公钥和公钥、组织名称、组织单位等信息。数字证书:格式为.cer,由OpenHarmonySDK独立生成。Profile文件:格式为.p7b,由OpenHarmonySDK独立生成。包含HarmonyOS应用的包名、数字证书信息、应用允许申请的证书权限列表。每个应用程序包都必须包含一个Profile文件。2.1通过IDE中的图形页面生成(这个最好)2.2通过命令行生成(这个方法最好看PPT)[1]keytool-genkeypair-alias"harmony"-keyalgEC-sigalgSHA256withECDSA-dname"C=CN,O=SHENKAIHONG,OU=SHENKAIHONGIDE,CN=harmony"-keystored:\\p12.p12-storetypepkcs12-validity9125-storepassqaz123456-keypassqaz123456【2】keytool-certreq-alias"harmony"-keystored:\\p12.p12-storetypepkcs12-filed:\\csr.csr【3使用自生成的证书请求文件生成应用程序签名所需的数字证书文件】【注:-infile指定证书请求文件csr文件路径-outfile指定输出证书文件名和路径]keytool-gencert-alias"OpenHarmonyApplicationCA"-infilecsr.csr-outfilecer.cer-keystoreOpenHarmony.p12-sigalgSHA384withECDSA-storepass123456-extKeyUsage:"critical=digitalSignature"-validity3650-rfc[4GenerateProfilefiles]java-jarprovisionsigtool.jarsign--inUnsgnedReleasedProfileTemplate.json--outp7b.p7b--keystoreOpenHarmony.p12--storepass123456--alias"OpenHarmonyApplicationProfileRelease"--sigAlgSHA256withECDSA--certOpenHarmonyProfileRelease.pem--validity365--developer-idohosdeveloper--bundle-name包名--permissionrestricted权限名(可选)--distribution-certificatecer.cer接下来会有:编译构建Hap包&安装开发过程对比:实操:1.构建工程2.进入OpenHarmony的SDK目录:我的:C:\Users\iamda\AppData\Local\OpenHarmony\Sdk在哪里看:toolchains\lib运行命令行(在搜索框中输入cmd即可)3.2:复制这些将两个文件放到lib目录下:3.3生成cer3.4生成配置文件(--permissionrestricted权限名(可选)先去掉,包名在config.json中找到)3.5在项目中创建一个Key文件夹,把新生成的四个文件复制到Key目录下,点击确定(密码为之前命令行中的密码)。最后一步是选择release3。编译构建Hap包&安装构建成功:第四部分:查看文档OpenHarmonyOpenSourceProject-Gitee进入Documentation-选择中文:重点:开发参考更多内容请访问:鸿蒙技术社区共建与华为官方https://harmonyos.51cto.com