社区编辑申请
注册/登录
扬帆RK3399OpenHarmony开发板软件开发环境搭建
系统 OpenHarmony
本文主要介绍基于OpenHarmony3.1Beta版本下软通动力扬帆智能开发套件软件开发环境的搭建,指导如何进行应用开发。

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

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

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

概述

本文主要介绍基于OpenHarmony3.1Beta版本下软通动力扬帆智能开发套件软件开发环境的搭建,指导如何进行应用开发。

读者对象

本文档适用于从事OpenHarmony应用软件开发人员。

对象要求

开发人员需按照文档章节顺序进行扬帆软件开发环境搭建。

版权声明

本文档著作权由软通动力信息技术(集团)股份有限公司所有,保留一切权利。未经许可不得擅自摘抄、复制本文档内容。

修订记录

本文档内容会随着技术的发展进行更新,修订记录如下:

  • 版本:V1.0
  • 更新说明:第1版发布
  • 修改日期:2022.02.20

一、环境搭建要求

计算机要求

  • Windows版本:Windows 10,64位
  • 内存:8GB以上
  • 硬盘:100GB以上
  • 分辨率:1280*800像素及以上

工具介绍

本次软件开发环境搭建所需工具如下:

工具准备好的前提下,软件环境搭建预计需要1小时左右。

二、应用开发指导

前提条件

单板启动正常

操作步骤

第1步:安装DevEco Studio 3.0 Beta1及以上版本。

下载链接:https://developer.harmonyos.com/cn/develop/deveco-studio#download

第2步:配置OpenHarmony SDK。

  1. 运行已安装的DevEco Studio,首次使用,请选择Do not import settings,点击OK。
  2. 进入配置向导页面,设置npm registry, DevEco Studio 已预置对应的仓,直接点击Start using DevEco Studio进入下一步。
  3. DevEco Studio向导指引开发者下载SDK,默认下载OpenHarmony SDK。SDK下载到user目录下,也可以指定对应的存储路径,SDK存储路径不支持中文字符,然后点击Next。
  4. 在弹出的SDK下载信息页面,点击Next,并在弹出的License Agreement窗口,点击Accept开始下载SDK。
  5. 等待OpenHarmony SDK及工具下载完成,点击Finish,界面会进入到DevEco Studio欢迎页。

配置完成OpenHarmony SDK后,下一步创建OpenHarmony工程。

第3步:创建openharmony工程。

通过如下两种方式,打开工程创建向导界面。

如果当前未打开任何工程,可以在DevEco Studio的欢迎页,选择Create Project开始创建一个新工程。

如果已经打开了工程,可以在菜单栏选择File > New > New Project来创建一个新工程。

根据工程创建向导,选择“[Standard]Empty Ability”模板,点击Next。

点击Next,进入到工程配置阶段,需要根据向导配置工程的基本信息。

  • Project name:工程的名称,可以自定义。
  • Project type:工程的类型,标识该工程是一个原子化服务(Service)或传统方式的需要安装的应用(Application)。
  • Bundle name:软件包名称,默认情况下,应用ID也会使用该名称,应用发布时,应用ID需要唯一。如果“Project Type”选择了Atomic Service,则Bundle Name的后缀名必须是.hmservice。
  • Save Location:工程文件本地存储路径。
  • Development mode:选择开发模式,部分模板支持低代码开发,可选择Super Visual。
  • ​Language:支持的开发语言。
  • Compatible API Version:兼容的SDK最低版本。
  • Device Type:该工程模板支持的设备类型。

点击Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。

第4步:配置应用签名信息。

使用真机设备运行和调试OpenHarmony应用前,需要对应用进行签名才能正常运行。

1、生成密钥和证书请求文件

OpenHarmony应用通过数字证书(.cer文件)和Profile文件(.p7b)来保证应用的完整性,需要通过DevEco Studio来生成密钥文件(.p12文件)和证书请求文件(.csr文件)

使用DevEco Studio生成。

在主菜单栏点击Build > Generate Keyand CSR。

说明: 如果本地已有对应的密钥,无需新生成密钥,可以在Generate Key界面中点击下方的Skip跳过密钥生成过程,直接使用已有密钥生成证书请求文件。

在Key Store File中,可以点击Choose Existing选择已有的密钥库文件(存储有密钥的.p12文件);如果没有密钥库文件,点击New进行创建。下面以新创建密钥库文件为例进行说明。

  • oKey Store File:选择密钥库文件存储路径。
  • Password:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种以上字符的组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
  • Confirm Password:再次输入密钥库密码。

  • Alias:密钥的别名信息,用于标识密钥名称。请记住该别名,后续签名配置需要使用。
  • Password:密钥对应的密码,与密钥库密码保持一致,无需手动输入。
  • Validity:证书有效期,建议设置为25年及以上,覆盖应用/服务的完整生命周期。
  • Certificate:输入证书基本信息,如组织、城市或地区、国家码等。

在Generate Key界面中,继续填写密钥信息后,点击Next。

在Generate CSR界面,选择密钥和设置CSR文件存储路径。

点击OK按钮,创建CSR文件成功,可以在存储路径下获取生成的密钥库文件(.p12)和证书请求文件(.csr)。

2、生成应用证书文件

使用生成密钥和证书请求文件中生成的证书请求文件,来生成应用签名所需的数字证书文件。生成方法如下:

进入DevEco Studio安装目录的Sdk\toolchains\lib文件夹下(该SDK目录只能是OpenHarmony SDK,配置方法可参考配置OpenHarmony SDK),打开命令行工具,执行如下命令(如果keytool命令不能执行,请在系统环境变量中添加JDK的环境变量)。其中,只需要修改输入和输出即可快速生成证书文件,即修改**-infile指定证书请求文件csr文件路径,-outfile**指定输出证书文件名及路径。

keytool -gencert -alias “OpenHarmony Application CA” -infile myApplication_ohos.csr -outfile myApplication_ohos.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:“critical=digitalSignature” -validity 3650 -rfc

关于该命令的参数说明如下:

  • alias:用于签发证书的CA私钥别名,OpenHarmony社区CA私钥存于OpenHarmony.p12密钥库文件中,该参数不能修改。
  • infile:证书请求(CSR)文件的路径。
  • outfile:输出证书链文件名及路径。
  • keystore:签发证书的CA密钥库路径,OpenHarmony密钥库文件名为OpenHarmony.p12,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。请注意,该OpenHarmony.p12文件并不是生成密钥和证书请求文件中生成的.p12文件。
  • sigalg:证书签名算法,该参数不能修改。
  • storepass:密钥库密码,密码为123456,该参数不能修改。
  • ext:证书扩展项,该参数不能修改。
  • validity:证书有效期,自定义天数。
  • rfc:输出文件格式指定,该参数不能修改。

3、生成应用profile文件

Profile文件包含OpenHarmony应用的包名、数字证书信息、描述应用允许申请的证书权限列表,以及允许应用调试的设备列表(如果应用类型为Release类型,则设备列表为空)等内容,每个应用包中均必须包含一个Profile文件。

进入Sdk\toolchains\lib目录下,打开命令行工具,执行如下命令。

java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json 
--out myApplication_ohos_Provision.p7b --keystore OpenHarmony.p12 --storepass
123456 --alias “OpenHarmony Application Profile Release” --sigAlg
SHA256withECDSA --cert OpenHarmonyProfileRelease.pem --validity 365
--developer-id ohosdeveloper --bundle-name 包名 --permission 受限权限名(可选)
--permission 受限权限名(可选) --distribution-certificate myApplication_ohos.cer

关于该命令的参数说明如下:

  • oprovisionsigtool:Profile文件生成工具,文件在OpenHarmony SDK的Sdk\toolchains\lib路径下。
  • in:Profile模板文件所在路径,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。
  • out:输出的Profile文件名和路径。
  • keystore:签发证书的密钥库路径,OpenHarmony密钥库文件名为OpenHarmony.p12,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。
  • storepass:密钥库密码,密码为123456,该参数不能修改。
  • alias:用于签名Profile私钥别名,OpenHarmony社区CA私钥存于OpenHarmony.p12密钥库文件中,该参数不能修改。
  • sigalg:证书签名算法,该参数不能修改。
  • cert:签名Profile的证书文件路径,文件在OpenHarmony SDK中Sdk\toolchains\lib路径下,该参数不能修改。
  • validity:证书有效期,自定义天数。
  • developer-id:开发者标识符,自定义一个字符串。
  • bundle-name:填写应用包名。
  • permission:可选字段,如果不需要,则可以不用填写此字段;如果需要添加多个受限权限,则如示例所示重复输入。受限权限列表如下:ohos.permission.READ_CONTACTS、ohos.permission.WRITE_CONTACTS。
  • distribution-certificate:生成应用证书文件中生成的证书文件。

4、配置应用签名信息

在真机设备上调试前,需要使用到制作的私钥(.p12)文件、证书(.cer)文件和Profile(.p7b)文件对调试的模块进行签名。

打开File > Project Structure,点击Project > Signing Configs > debug窗口中,去除勾选“Automatically generate signing”,然后配置指定模块的调试签名信息。

  • Store File:选择密钥库文件,文件后缀为.p12,该文件为生成密钥和证书请求文件中生成的.p12文件。
  • Store Password:输入密钥库密码,该密码为生成密钥和证书请求文件中填写的密钥库密码保持一致。
  • Key Alias:输入密钥的别名信息,与生成密钥和证书请求文件中填写的别名保持一致。
  • Key Password:输入密钥的密码,与Store Password保持一致。
  • Sign Alg:签名算法,固定为SHA256withECDSA。
  • Profile File:选择生成应用Profile文件中生成的Profile文件,文件后缀为.p7b。
  • Certpath File:选择生成应用证书文件中生成的数字证书文件,文件后缀为.cer。

设置完签名信息后,点击OK进行保存,然后可以在工程下的build.gradle中查看签名的配置信息。

默认情况下,DevEco Studio编译hap包的类型为debug类型,如果需要编译release类型的hap包,请打开工程左下角的OhosBuild Variants,设置模块的编译构建类型为release。关于编译构建hap的详细说明请参考HUAWEI DevEco Studio使用指南。

编译完成后,OpenHarmony应用的Hap包可以从工程的bulid目录下获取。

第5步:安装及运行应用。

使用hdc工具将编译后的本地hap包安装到单板上。

安装命令 install [-r/-d/-g] package

命令示例:

hdc install E:\ entry-debug-rich-signed.hap

说明:蓝色表示要安装的hap包在本地的路径。

卸载命令 uninstall [-k] package

命令示例:

hdc uninstall com.example.relayapplication.hmservice

说明:蓝色表示hap包的bundleName。

击触屏上的Hap图标或者使用命令启动Hap包。

aa start -d l -a mainAbility -b bundleName,其中mainAbility, bundleName换成自己开发的应用名字(可在应用工程的config.json文件中查到)。如下打印表示应用启动成功:

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

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

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

责任编辑:jianghua 来源: 鸿蒙社区

同话题下的热门内容

HarmonyOS应用开发:鸿蒙JS实战,计算器功能开发!Hi3516DV300驱动开发—编写LED灯控制程序OpenHarmony - 纯CSS实现卡通狮子OpenHarmony - ArkUI(TS)声明式开发之底部导航栏HDF驱动开发流程解析基于 OpenHarmony 的实时水流量监测管理系统(一)OpenHarmony -ArkUI(ETS)之WiFi简单的连接操作OpenHarmony源码解析之显示屏亮度获取功能

编辑推荐

HarmonyOS 2.0鸿蒙第二期开发者Beta公测申请指南HarmonyOS LYEVK-3861开发板播放《蜜雪冰城》鸿蒙HarmonyOS分布式软总线:构建低时延、高带宽的多设备虚拟网络华为HarmonyOS的强势突围: 直面物联网迷宫的蓄力进击鸿蒙HarmonyOS2.0发布会现场回忆录
我收藏的内容
点赞
收藏

51CTO技术栈公众号