OpenHarmony应用开发—解锁学习实战(二) 原创

发布于 2021-9-2 09:41
浏览
1收藏

四、编写项目代码
1.项目目录结构介绍:

OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区
src:

Js:

  default:

i18n:国际化文件;

Image:项目图片存储文件;

Pages:页面代码(html+css+js)文件存储位置;

Openharmony: 提示搜索Openharmony页面布局;

     Index: app首页布局;

Interest: Openharmony开发者勉励语页面布局;

study: Openharmony点击学习页面;

tupian: 学习入口页面布局;

resources:

element: app部分配置json,如app名称;

media:app图标存放位置;

config.json: 项目配置文件

2.关键代码(点击学习部分)说明:
页面布局(html):

<div class=“pagediv”>

<div class="topdiv">

    <text class="textdiv" for="{{title}}">{{$item}}</text>

</div>

<div class="middlediv">

    <block for="{{arrs}}">

        <div class="box">

            <button class="button_dj" onclick="show({{$item.id}})" >{{$item.id}}</button>

        </div>

    </block>

</div>

<div clss="bottomdiv">

    <div class="div_dati">

       <text class="text_style">{{show_text}}</text>

    </div>

</div>

<div class="button_study">

    <text class="button_style_study" onclick="page_four">{{know_study}}</text>

</div>

</div>

点击学习页面逻辑代码(js):

import router from ‘@system.router’;

export default {

data: {

    title:["点击按钮","解锁术语解释与学习"],

    arrs:[

        {

            'id':'Ability',

           'value':'应用的重要组成部分,是应用所具备能力的抽象'。         

},

       ......

    ],

    show_text:'',

    know_study:"了解更多"

},

show(e){

    console.info(e)

    var list = this;

    this.arrs.forEach(element => {

        console.info(element.id)

        if (element.id==e) {

            list.show_text = element.value

        }

    });

    console.info(list.show_text);

},

page_four(){

    router.push({

        uri:'pages/harmonyos/harmonyos'

    })

}

}

五、配置openharmony应用签名信息
1.生成密匙和请求文件

  • 在主菜单栏点击Build > Generate Key and CSR。
  • 在Key Store File中,可以点击Choose Existing选择已有的密钥库文件;如果没有密钥库文件,点击New进行创建。下面以新创建密钥库文件为例进行说明。
  • 在Create Key Store窗口中,填写密钥库信息后,点击OK。
  • Key Store Path:选择密钥库文件存储路径。
  • Password:设置密钥库密码,必须由大写字母、小写字母、数字和特殊符号中的两种以上字符的组合,长度至少为8位。请记住该密码,后续签名配置需要使用。
  • Confirm Password:再次输入密钥库密码。
  • 在Generate Key界面中,继续填写密钥信息后,点击Next。
  • 在Generate CSR界面,选择密钥和设置CSR文件存储路径。
  • 点击OK按钮,创建CSR文件成功,可以在存储路径下获取生成的密钥库文件(.p12)和证书请求文件(.csr)。
    2.生成应用证书文件
    进入DevEco Studio安装目录的Sdk\toolchains\lib文件夹下(该SDK目录只能是OpenHarmony SDK,配置方法可参考配置OpenHarmony SDK)https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/配置OpenHarmony-SDK.md,打开命

令行工具,执行如下命令(如果keytool命令不能执行,请在系统环境变量中添加JDK的环境变量)。其中,只需要修改输入和输出即可快速生成证书文件,即修改**-infile指定证书请求文件csr文件路径,-outfile**指定输出证书文件名及路径。

keytool -gencert -alias “OpenHarmony Application CA” -infile myApplication_debug.csr -outfile myApplication_debug.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路径下,该参数不能修改。
  • sigalg:证书签名算法,该参数不能修改。
  • storepass:密钥库密码,密码为123456,该参数不能修改。
  • ext:证书扩展项,该参数不能修改。
  • validity:证书有效期,自定义天数。
  • rfc:输出文件格式指定,该参数不能修改。
  • 注意:使用keytool需要在当前目录下打开

3、生成应用profile文件
进入Sdk\toolchains\lib目录下,打开命令行工具,执行如下命令。

java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json --out myApplication_debug_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 IDE.cer

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

provisionsigtool: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:生成应用证书文件https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/%E9%85%8D%E7%BD%AEOpenHarmony%E5%BA%94%E7%94%A8%E7%AD%BE%E5%90%8D%E4%BF%A1%E6%81%AF.md中生成的证书文件。
4、配置应用签名信息
打开File > Project Structure,点击Project > Signing Configs > debug窗口中,去除勾选“Automatically generate signing”,然后配置指定模块的调试签名信息。

Store File:选择密钥库文件,文件后缀为.p12,该文件为生成密钥和证书请求文件中生成的.p12文件。
Store Password:输入密钥库密码,该密码为生成密钥和证书请求文件https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/%E9%85%8D%E7%BD%AEOpenHarmony%E5%BA%94%E7%94%A8%E7%AD%BE%E5%90%8D%E4%BF%A1%E6%81%AF.md中填写的密钥库密码保持一致。
Key Alias:输入密钥的别名信息,与生成密钥和证书请求文件中填写的别名保持一致。
Key Password:输入密钥的密码,与Store Password保持一致。
Sign Alg:签名算法,固定为SHA256withECDSA。
Profile File:选择生成应用Profile文件https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/%E9%85%8D%E7%BD%AEOpenHarmony%E5%BA%94%E7%94%A8%E7%AD%BE%E5%90%8D%E4%BF%A1%E6%81%AF.md中生产的Profile文件,文件后缀为.p7b。
Certpath File:选择生成应用证书文件中生成的数字证书文件,文件后缀为.cer。
设置完签名信息后,点击OK进行保存,然后可以在工程下的build.gradle中查看签名的配置信息。

OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区

5.构建带签名信息的HAP(Debug类型)
打开左下角的OhosBuild Variants,检查并设置模块的编译构建类型为debug,默认类型为debug。
OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区

在主菜单栏,点击Build > Build APP(s)/Hap(s) > Build Hap(s),生成已签名的Debug HAP。

OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区

六、推送到开发板/设备
1、下载hdc_std工具
OpenHarmony需要hdc_std作为调试工具,hdc-std下载链接:https://gitee.com/openharmony/developtools_hdc_standard

2、配置环境变量(Windows)
将hdc_std.exe添加到系统的环境变量中。在cmd中输入**”hdc_std -h”**验证环境变量是否添加成功。

3.使用hdc_std安装Hap
使用usb连接开发板后,使用**”hdc_std install <file_path>”**来安装编译好的Hap 注意:file path指的路径
OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区

当提示成功,查看开发版便能看到 app的图标人口。

OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区
OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区
OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区
OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区
OpenHarmony应用开发—解锁学习实战(二)-开源基础软件社区

开源项目地址:欢迎大家更多创意与功能的参与。

https://gitee.com/jltfcloudcn/openharmonyIOTAPP/tree/master/jiesuoxuexi

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
OpenHarmony应用开发—解锁学习实战.docx 715.99K 18次下载
2
收藏 1
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐