今天在标准系统上使用DevEco Studio 3.0 Beta2开发app时,想直接在真机上运行,结果提示吐下信息,

App LaunchInstall Failed: [Info]App install path:D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\entry\build\outputs\hap\debug\entry-debug-standard-ark-unsigned.hap, queuesize:0, msg:error: failed to install bundle. error: no signature file. AppMod finish

这种情况是因为没有给app进行签名导致的,现在按照官方文档进行签名操作,首先如下图,进入Build去生成证书请求文件。

进入如上图展示的选项后,然后选择如下图所示的选项。

然后出现如图所示界面,我们填写这个就可。

点击此箭头进入选择保存路径以及设置名字,如下图展示

进入后的界面如下图所示,选择正确的路径以及填写名字

然后点击OK就行,然后再在如下图所示界面填写密码,注意密码格式如下,


我这里用的是zxy122456

填写完成后点击OK完成创建,然后接着填写如下信息。

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

    然后点击箭头所指示的Next即可,然后会出现如下界面

    这里需要设置我们的路径,点击箭头所指选项,

    选择保存的路径,设置名字,然后点击OK。

    回到上图所示界面后点击Finish即可,会提示如下图所示信息,点击ok即可。

    创建成功如下所示多了几个文件。

    接着需要生成证书文件,步骤如下,进入DevEco Studio安装目录的Sdk\toolchains\lib文件夹下(该SDK目录只能是OpenHarmony SDK),比如我这里是如下图路径,

    将如上图所示文件全部拷贝到我们的key目录

    然后找到如下图所示的路径,因为我们的keytool工具没有添加到系统环境变量,所以需要如此操作

    打开此路径的cmd,然后执行如下命令
    keytool -gencert -alias “OpenHarmony Application CA” -infile D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\HelloWorld.csr -outfile D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\HelloWorld.cer -keystore D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\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文件并不是使用DevEco Studio生成证书请求文件中生成的.p12文件。
  • sigAlg:证书签名算法,该参数不能修改。
  • storepass:密钥库密码,密码为123456,该参数不能修改。
  • ext:证书扩展项,该参数不能修改。
  • validity:证书有效期,自定义天数。
  • rfc:输出文件格式指定,该参数不能修改。
    执行完成如下图。

    生成如下图所示的文件就算成功。

    然后再使用如下命令生成Profile文件
    java -jar D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\provisionsigtool.jar sign --in D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\UnsgnedReleasedProfileTemplate.json --out D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\HelloWorld.p7b --keystore D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\OpenHarmony.p12 --storepass 123456 --alias “OpenHarmony Application Profile Release” --sigAlg SHA256withECDSA --cert D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\OpenHarmonyProfileRelease.pem --validity 365 --developer-id ohosdeveloper --bundle-name com.mc.helloworld --distribution-certificate D:\APP\HarmonyOS\Project\openHarmonyProject\standard\HelloWorld\Key\HelloWorld.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:生成应用证书文件中生成的证书文件。
然后就是配置使用签名信息,首先进入如下所示选项

然后选择如下图所示选项


这里填写信息说明如下:

  • Store File:选择密钥库文件,文件后缀为.p12,该文件为使用DevEco Studio生成证书请求文件中生成的.p12文件。
  • Store Password:输入密钥库密码,该密码为使用DevEco Studio生成证书请求文件中填写的密钥库密码保持一致。我这里使用zxy1122456
  • Key Alias:输入密钥的别名信息,与使用DevEco Studio生成证书请求文件中填写的别名保持一致。我这里是HelloWorld_debug
  • Key Password:输入密钥的密码,与Store Password保持一致。zxy1122456
  • Sign Alg:签名算法,固定为SHA256withECDSA。
  • Profile File:选择生成应用Profile文件中生成的Profile文件,文件后缀为.p7b。
  • Certpath File:选择生成证书文件中生成的数字证书文件,文件后缀为.cer。
  • 然后点击右下角OK即可。

openharmony标准系统之app手动签名相关推荐

  1. openharmony标准系统移植之init启动流程分析

    接上篇移植openharmony标准系统后,系统进入终端后,发现执行指令特别卡顿,太影响调试了.目前还不知道是什么问题导致的,不知道是不是cpu性能不够,但是感觉不太像是这个问题,卡顿如下图.基本一个 ...

  2. 第一块能鸿蒙OpenHarmony标准系统的开发板——DAYU200

    简介 DAYU200是润和软件推出了OpenHarmony富设备开发板. 基于Rockchip RK3568,集成双核心架构GPU以及高效能NPU: 板载四核64位Cortex-A55 处理器采用22 ...

  3. openharmony标准系统移植之添加产品编译

    首先我这里下载的是源码文件包的形式,如下图,我们使用 命令 tar xvf code-v3.1-Release.tar.gz进行解压文件.解压完成后如下图,多了code-v3.1-Release文件夹 ...

  4. iOS App 签名的原理 App 重签名(三)

    目录 iOS App 重签名 - 准备工作 iOS App 重签名 - 手动重签名 iOS App 重签名 - 使用脚本重签名 iOS App 重签名 - 使用 XCode 重签名 注意 iOS Ap ...

  5. APP超级签名分发系统 企业签名免签封装微信多开自助分发多合一系统

    APP 超级签名分发系统,企业签名免签封装,微信多开自助分发多合一系统源码 做 ios 开发时,每次打测试包都要问客户要 udid,很麻烦,所以偶尔发现有一个这样的系统,可以直接安装苹果的应用,非常方 ...

  6. 与安装应用签名不同怎么解决_手动签名安装掉证书应用、多开任意应用教程

    手动签名应用 前提准备: Windows 系统电脑 安装最新版爱思助手 要签名的 IPA 安装包 Apple ID及密码 首先将要签名的软件 IPA 安装包下载到电脑上,这里的 IPA 安装包必须使用 ...

  7. iOS逆向(3)-APP重签名

    作为一名iOS开发者肯定知道iOS开发证书,那么证书具体是什么呢?为什么到我们本地的不是证书本身,而是一个称之为描述文件的东西.而这「描述文件」又具体是什么呢? 在知道这「描述文件」后,我们是不是可以 ...

  8. android app的签名,Android APP的签名

    Android APP的签名 Android项目以它的包名作为唯一的标识,如果在同一部手机上安装两个包名相同的APP,后者就会覆盖前面安装的应用.为了避免Android APP被随意覆盖,Androi ...

  9. 运营级IOS一键签名程序源码 支持app超级签名一键分发平台

    简介: IOS APP超级签名一键分发平台(七牛魔签)是一款app分发源码-app签名-完美运营级别IOS一键签名程序,该系统完全在linux下运行,源码不存在使用第三方收费工具,市面上很多系统都是使 ...

最新文章

  1. 私有5g网络_欧洲通过FUDGE5G的启动来支持工业4.0的云原生私有5G
  2. 关于一部分数学知识》(工具向)(实时更新)
  3. struts2相对路径解释
  4. matlab中图像太大,图像处理:算法在MATLAB中耗时太长
  5. 检索图书 FindMess.java
  6. SAP CRM Product UI是如何判断当前会话发生了数据写操作的
  7. 鸟哥的linux私房菜有乌班图,折腾Ubuntu的一些summary--初装Ubuntu18和重装Ubuntu18
  8. 安卓学习笔记28:文件流操作
  9. android design包控件,Android Design包之TextInputLayout和TextInputEditText的组合使用【原创】...
  10. iwebAx产品家族之iweb SNS v0.6体验版--不错的开源软件~~
  11. 使用PHP官方镜像调用API进行文本翻译
  12. TS:虚机ipv6网络不通问题-2022.5.16(已解决-博客分享)
  13. python前缀_python前缀和算法
  14. 基于Goolgle最新NavigationDrawer实现全屏水平平移
  15. 差异基因p为0_RNAseq数据分析文献22差异基因与临床数据相关性分析
  16. 洛谷P2306 被yyh虐的mzc
  17. 看了这篇Docker指令详解,网友直呼:我收藏了你呢?
  18. rabbitmq安装 虚拟ip_步骤4:配置IPv6地址
  19. 4342. 就一勾子 HDU1698 , kuangbin专题
  20. informatica 许可_Informatica安装及使用文档

热门文章

  1. 64位的电脑比32位的电脑跑的快么?「多图预警」
  2. 数字集成电路设计(一、Verilog HDL数字集成电路设计方法概述)
  3. 【Rainmeter】写Lua脚本遇到的文件读写问题
  4. MFC中使用OLE/COM操作EXCEL的方法
  5. matlab风力机叶片仿真教程,基于MATLAB的小型风力机叶片设计
  6. 第一人称射击游戏——总结1
  7. 395高校毕业设计选题
  8. UFT软件的安装与注意事项
  9. 使用MacBook自带工具抓包跑字典破解WiFi
  10. 电压闪变matlab,基于小波变换的电压闪变检测Matlab仿真研究