OpenHarmony Windows环境IDE打包ARK应用教程

1.下载并安装IDE, 当前版本3.0.0.600

https://developer.harmonyos.com/cn/develop/deveco-studio

直接解压安装。安装完成后,首次打开IDE,按照引导设置npm位置并下载SDK。

当前默认下载的是OpenHarmony SDK的API7。HarmonyOS Legacy SDK 对应API4-6,可以手动在HarmonyOS Legacy SDK页面选择下载或者打开工程的时候按照提示下载。

2.替换自己的SDK

自己本地编译镜像的情况下,我们需要使用与本地环境一致的SDK,这时候需要我们本地编出SDK,并替换到IDE的SDK路径下。

OHOS代码根目录下执行命令编出SDK:

./build.sh --product-name ohos-sdk

将out\ohos-arm64-release\ohos-sdk\windows\ets路径下的生成文件覆盖到本地SDK的SDK\ets\3.0.0.0路径下,

将out\ohos-arm64-release\ohos-sdk\windows\js路径下的生成文件覆盖到本地SDK的SDK\js\3.0.0.0路径下。

在本地SDK\js\3.0.0.0\build-tools\ace-loader和SDK\ets\3.0.0.0\build-tools\ets-loader路径下分别执行:

npm install

这样,SDK就替换成功了。

备注:每次替换SDK都需要执行npm install。

3.应用源码下载

以settings源码为例

git clone https://gitee.com/openharmony/applications_settings.git

4.打开工程

第一次打开某个工程,可能工程内容刷新不全,重新打开即可。

备注:蓝区环境中,不要直接用Windows IDE打开wsl系统中的工程。

5.修改工程配置

每个工程可能有多个子模块,工程有一个公共的配置文件build.gradle,每个子模块也分别有一个单独的配置文件build.gradle。

可以看到,supportSystem当前是在公共配置文件中设置的,不要在子模块的配置文件中添加。

备注:每次修改完配置文件后,都要重新进行工程同步。

6.应用打包

工程同步完成后,可以进行应用打包,选择Build Hap(s)。到这里,已经能打包出未签名的hap包,生成目录在每个子模块的"build\outputs\hap\debug"目录下,如果有多个子模块,每个子模块的对应目录下都会有一个hap。

备注:每次重新打包,要先执行Clean Project。

7.应用签名

a.在主菜单栏点击Build > Generate Key and CSR

b.在系统环境变量中配置JDK的环境变量(不需要自己安装JDK,只需要使用DevEco Studio 3.0.0.600下的JDK工具)

c.本地OpenHarmony SDK目录SDK\toolchains\lib下执行
keytool -gencert -alias "OpenHarmony Application CA" -infile D:\key\keys.csr -outfile IDE.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:"critical=digitalSignature" -validity  3650 -rfcjava -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 ohos.samples.jshelloworld  --distribution-certificate IDE.cer

其中,第一次命令的-infile为上面生成的本地.csr文件路径,第一条命令的-outfile文件对应第二条命令的–distribution-certificate文件。

d.* p12,*.csr, *.cer和 *.p7b这四个文件生成完之后,开始配置签名信息

以release版本为例,在File > Project Structure > Project > Signing Configs > Release窗口中,配置工程的签名信息。

配置之后点击apply,可以看到工程的配置文件中已经有了release版本的签名信息

用同样的方法可以配置debug版本的签名信息。到这里,就可以生成签名后的应用了。

IDE可以打包debug或release版本的应用,两个版本分别使用debug和release的签名配置。打包版本配置方法如下

备注:第一次通过IDE生成完签名信息后,以后都可以直接将上面的签名信息拷贝到build.gradle中,不需要再通过IDE生成。

8.确认Ark应用

生成的hap包可以通过修改后缀名为.zip打开,通过里面config.json文件判断是否是Ark应用,如果有virtualMachine字段,且其值包含ark字样,则为Ark应用。

当前IDE在ohos库版本配置为3.0.3.2之后,默认会编Ark应用,如果需要编quickjs应用,需要在每个子模块的配置文件中加入arkEnable字段。

rtualMachine字段,且其值包含ark字样,则为Ark应用。

当前IDE在ohos库版本配置为3.0.3.2之后,默认会编Ark应用,如果需要编quickjs应用,需要在每个子模块的配置文件中加入arkEnable字段。

OpenHarmony Windows环境IDE打包ARK应用教程相关推荐

  1. 本机php环境搭建教程:windows环境下wampserver的配置教程——超级详细

    转载自:http://youchunyan5.blog.163.com/blog/static/5896062020123474456352/ 本机php环境搭建教程:windows环境下wampse ...

  2. windows环境下如何安装memcached教程

    Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached. 工具/原料 memcached ...

  3. 4.windows环境下如何安装memcached教程(转载+自己整理)

     Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached.百度经验:jingyan. ...

  4. Git安装【Windows环境安装配置】详细教程

    Git 在本地的安装配置 实际项目开发中,我们经常会用一些版本控制器来托管自己的代码,今天就来总结下Git的相关用法,走教程. 目的:通过Git管理github托管项目代码 1. 下载安装Git Gi ...

  5. windows环境下VSCode配置C++教程(使用msvc编译器)

    写在前面 VSCode是个优秀的.开源的.可扩展的代码编辑器,今天就来介绍一下在windows系统下如何用它来配置C++环境. 须知VSCode只是个编辑器,它自己是不带有编译.构建.调试等工具套件的 ...

  6. windows环境下wampserver的配置教程

    对于初做PHP网站的朋友来说,第一步肯定是希望在自己电脑是搭建PHP环境,省去空间和上传的麻烦!但搭建环境也不是件容易的事情,特别是对于新手同学来说!因此在这里跟大家介绍我作为一名新手在使用的方便好用 ...

  7. Windows环境下smarty安装简明教程

    整个配置过程分为九步走,文章看起来比较长,那是因为站长对每一个步骤都给出了没法再详细的解释,非常浅显,绝对是名副其实的"最简明教程".按照这个教程,智商大于零的用户都能顺利配置好S ...

  8. 一文实现:在python中调用matlab程序,保姆级安装windows环境下的matlab.engine教程

    一.前言   我最近在做一个基于图像融合的目标检测工程,我经常用matlab去研究和创新新型的图像融合算法,因为matlab有着python所不可比拟的数据可视化功能和大量的滤波分解框架包:在目标检测 ...

  9. Jenkins+Maven+Git+Tomcat搭建持续集成环境,自动打包部署详细教程

    服务器系统 centOS 8.2 1. 运行环境安装 1.1 安装 jdk 上传安装包,然后解压 [root@ianly ~]# tar -zxvf jdk-8u144-linux-x64.tar.g ...

最新文章

  1. 高效办公,如何利用Python自动发送邮件
  2. Linux进程间通信二 System V 消息队列简介与示例
  3. Ubuntu Linux配置Nginx+MySQL+PHP+phpMyAdmin详细步骤
  4. Secure CRT 自动记录日志和时间戳功能配置
  5. BZOJ3577 : 玩手机
  6. java调用命令行命令_Java命令行界面(第4部分):命令行
  7. IntelliJ IDEA自动生成自定义的类注释和方法注释
  8. python创建虚拟环境命令_python 创建虚拟环境
  9. 闭包造成的内存泄露怎么解决?
  10. eclipse中误删除的java文件 代码如何恢复
  11. 淘宝API 搜索相似的商品
  12. 目标追踪(一)环境搭建
  13. 【论文模型讲解】Vision Transformer
  14. 数学竞赛书单该怎么选?金牌牛娃用的书都在这里了!
  15. 登顶多国免费榜,Zynga能否依靠超休闲游戏重回巨头行列
  16. 知道创宇优质混合云解决方案,点击了解~
  17. 【CodeForces300D】Painting Square
  18. 锐安信sslTrus 5年期证书订阅套餐 简化SSL证书管理
  19. 基于单片机干湿垃圾自动分类系统-毕设课设资料
  20. 构建AWS Site-to-Site IPsec实现内网互联

热门文章

  1. NiCamera的使用
  2. 数据结构与算法之美(十一)堆和堆排序
  3. 全文文字识别OCRSDK
  4. Less 58-61
  5. python自动爬取WOS(web of science)文献引用信息及作者h索引
  6. EWARM IAR5.4编译链接过程, 程序运行阶段, ICF ilink配置文件
  7. 新思路: JS获取任意数据中最大的数字
  8. linux编程是否含7,第7章Linux编程简介.ppt
  9. Qt项目UI文件中新添加的控件在代码中不识别的问题
  10. [ZSTUOJ4438] 曼哈顿距离