氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3) 原创 精华

发布于 2022-2-6 15:25
浏览
4收藏

春节不停更,此文正在参加「星光计划-春节更帖活动」

Start Time: 27 January,2022
Author: Hairtail
Location: Gao Xing

OpenHarmony北向应用开发介绍

梁皓老师

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成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

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成长计划知识赋能的学习笔记(3)-开源基础软件社区

安装失败:

氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

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

氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

npm cache clean -f

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

氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

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

氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

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

我怀疑是淘宝镜像的问题

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

氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

发现还是出问题。

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

氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

【添加华为镜像】
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成长计划知识赋能的学习笔记(3)-开源基础软件社区
  • 插件安装步骤:
    • (1)打开插件市场:File-settings(设置)->Plugins(插件)
    • (转圈圈很久是正常的,多等等就行,实在不行就算重新进入settings再试试)氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • (2)安装中文语言包然后重启IDE即可氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

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

  • OpenHarmony&HarmonyOS支持情况对比
特性名称 HarmonyOS****版本 OpenHarmony****版本
创建Module X
服务卡片 X
自动化签名 X
远程模拟器 X
本地模拟器 X
使用DevEco Studio运行调试、日志查看、调优 X
云测试 X
安全测试 X

氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

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

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

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

文章的创意观点:

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

摘取文章中的部分论述:

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

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

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

  • 创建OpenHarmony工程

    • 1.新建项目,设置包名选择语言氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 2.应用签名有四个文件,生成秘钥和证书请求文件,填写相应的信息,最后会生成对应的文件
    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

    密钥:格式为.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成长计划知识赋能的学习笔记(3)-开源基础软件社区
  • 实操:

  • 1.建立项目

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

    • 我的:C:\Users\iamda\AppData\Local\OpenHarmony\Sdk
    • 在哪里看:氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • toolchains\lib运行命令行(直接在搜索框内输入cmd即可)氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 3.2:
    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 把这两个文件复制到lib目录下:氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 3.3生成cer
    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 3.4生成profile(–permission 受限权限名(可选)先去掉、包名在config.json里找)
    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 3.5在项目中创建Key文件夹,把才生成的四个文件挪到Key目录下氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 点击确定(密码就是之前命令行中的密码)氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 最后一步选择release氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
  • 3.编译构建Hap包&安装

    • 氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区
    • 构建成功:氐宿-基于OpenHarmony成长计划知识赋能的学习笔记(3)-开源基础软件社区

Part 4:查看文档

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
【OpenHarmony北向应用开发介绍】-梁皓.pptx 71.57M 30次下载
已于2022-2-6 15:25:39修改
4
收藏 4
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐