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

系统教程10个月前发布 2550863610
10 0 0

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://harmonyos.51cto.com​

Part 1:鸿蒙相关的介绍

HUAWEI DevEco Studio(以下简称DevEco Studio)是基于IntelliJ IDEA Community开源版本打造,面向华为终端全场景多设备的一站式集成开发环境(IDE)。

IDE:DevEco Studio (支持HarmonyOS和OpenHarmony都可以)

  • 界面跟android studio很类型,因为都是基于idea开源版本改的

智慧生态为什么目前为止没有得到体验呢,因为很难如:

技术:

  • 跨设备的动态迁移
  • 跨设备的接口调用

核心:安卓厂商可以自行开发相应的接口和功能,但无法让其他厂商也进行适配和使用

鸿蒙的系统可以运行在很小的设备上,满足分布式能力,让无屏变有屏

鸿蒙三大能力解释:

分布式软总线解决了设备从:发现-连接-健全-认证-物理通道选择-逻辑通道保障。把设备之间通讯的障碍都打通了,并以自动的方式实现通讯质量。

分布式任务调度保障分布式安全

分布式数据管理解决了不同设备之间信息实时同步的问题,性能高。(三大技术)

  • 分布式文件系统
  • 分布式数据库
  • 分布式检索

新理念:用软件定义硬件

安装IDE后会自动下载SDK,如果有需要就对应下载所需要的SDK即可

为什么我们要按照Java SDK 其中的一个原因是我们在进行签名的时候,用到了Java SDK中的一个工具。

SDK Manager

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

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

Part 2:DevEco Studio 3.0.0.800安装eTS 3.0.0.0踩坑(镜像导致)

这部分为自己补充的,非老师和PPT讲的

关于IDE自己遇见的一个坑

1.安装SDK(API Version 7 -eTS 3.0.0.0 )

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

安装失败:

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

复制链接点击进入:给的是JS SDK安装失败处理指导,清理缓存cache

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

npm cache clean -f

发现还是不行:然后阅读日志:

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

看不出啥具体问题:然后我们看完整日志:

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

使用淘宝镜像就变成了愚蠢的pacote标签清单:

我怀疑是淘宝镜像的问题:

1.删除淘宝镜像,安装华为的镜像

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

发现还是出问题。

2.删除淘宝镜像,删除华为镜像

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

【添加华为镜像】
npm config set registry http://mirrors.tools.huawei.com/npm/
【添加淘宝镜像】
npm config set registry https://registry.npm.taobao.org/
【移除镜像】
npm config rm registry +对应已添加的镜像

总结:以后遇见这种问题:

  • 第一动作就是CMD清理cache
  • 第二动作就是更换镜像,淘宝,华为挨着试一试
  • 第三动作就是把镜像都删掉,换成自带的

2.汉语插件

因为才下载的IDE是全英文的,对于特别新手的开发者有一些困难,但我们可以通过插件实现汉化。

最终效果:

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

插件安装步骤:

(1)打开插件市场:File-settings(设置)->Plugins(插件)

(转圈圈很久是正常的,多等等就行,实在不行就算重新进入settings再试试) 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

(2)安装中文语言包然后重启IDE即可 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

Part 3;相关干货与细化讲解

OpenHarmony&HarmonyOS支持情况对比

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

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

开发语言:直播中推荐JS语言(高效率,高性能,语言生态成熟),从命令式UI框架->声明式UI框架(TS/JS)效率提高百分之三十。并且提出了ArkUI框架:面向跨端应用前端开发。

关于开发语言这里推荐李传钊老师的理解:

鸿蒙应该选择什么语言作为开发语言?

文章的创意观点:

鸿蒙团队需要明确引导开发者的技术路线。

摘取文章中的部分论述:

JS:优势是学习成本低,发展势头猛;缺点是性能有天花板,不擅长处理数据,语法也比较随意。

Java:优势是目前受众最广的语言,而且已经在安卓取得成功;缺点在于本身并不擅长做界面,虚拟机,JNI也一直被诟病,同时可能存在致命的法律风险。

新语言(可能叫仓颉Char):优势是可以重新设计,取长补短,同时有利于建立独立的生态;劣势在于需要付出很大的精力去推广,发展成熟也需要一定的时间,与鸿蒙的节奏未必对得上。

创建OpenHarmony工程

1.新建项目,设置包名选择语言 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

2.应用签名有四个文件,生成秘钥和证书请求文件,填写相应的信息,最后会生成对应的文件

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

密钥:格式为.p12,包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,公钥和私钥对用于数字签名和验证。

证书请求文件:格式为.csr,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息。

数字证书:格式为.cer,通过OpenHarmony SDK自主生成。

Profile文件:格式为.p7b,通过OpenHarmony SDK自主生成。包含HarmonyOS应用的包名、数字证书信息、描述应用允许申请的证书权限列表,每个应用包中均必须包含一个Profile文件。

2.1通过IDE里图形页面生成(最好用这个)

2.2通过命令行的方式生成(这个方式最好看PPT)

【1】
keytool -genkeypair -alias "harmony" -keyalg EC -sigalg SHA256withECDSA -dname "C=CN,O=SHENKAIHONG,OU=SHENKAIHONG IDE,CN=harmony" -keystore d:\\p12.p12 -storetype pkcs12 -validity 9125 -storepass qaz123456 -keypass qaz123456
【2】
keytool -certreq -alias "harmony" -keystore d:\\p12.p12 -storetype pkcs12 -file d:\\csr.csr
【3使用自主生成的证书请求文件,来生成应用签名所需的数字证书文件】
【注意:-infile 指定证书请求文件csr文件路径-outfile 指定输出证书文件名及路径

keytool -gencert -alias "OpenHarmony Application CA" -infile csr.csr -outfile cer.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:"critical=digitalSignature" -validity 3650 -rfc
【4生成Profile文件】
java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json --out p7b.p7b --keystore OpenHarmony.p12 --storepass 123456 --alias "OpenHarmony Application Profile Release" --sigAlg SHA256withECDSA --cert OpenHarmonyProfileRelease.pem --validity 365 --developer-id ohosdeveloper --bundle-name 包名 --permission 受限权限名(可选) --distribution-certificate cer.cer

接下来还会有:编译构建Hap包&安装

开发流程对比:

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

实操:

1.建立项目

2.进入到OpenHarmony对于的SDK目录下:

我的:C:\Users\iamda\AppData\Local\OpenHarmony\Sdk

在哪里看: 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

toolchains\lib运行命令行(直接在搜索框内输入cmd即可) 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

3.2:

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

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

把这两个文件复制到lib目录下: 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

3.3生成cer

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

3.4生成profile(–permission 受限权限名(可选)先去掉、包名在config.json里找)

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

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

3.5在项目中创建Key文件夹,把才生成的四个文件挪到Key目录下 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

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

点击确定(密码就是之前命令行中的密码) 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

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

最后一步选择release

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

3.编译构建Hap包&安装

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

构建成功:

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

Part 4:查看文档

OpenHarmony开源项目-Gitee

进入文档-选择中文: 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记

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

强调:开发参考

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

​想了解更多内容,请访问:​

​51CTO和华为官方合作共建的鸿蒙技术社区​

​https://harmonyos.51cto.com​

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

© 版权声明

相关文章