写了一个HarmonyOS应用后最大的心愿就是把它安装到真机上,或发送给其他的小伙伴安装到真机上运行。想要在真机上运行,真的没有Android那么简单。难点主要体现在配置签名及安装上。 配置签名需要签名文件,而签名文件必须经过华为官网才能生成。签名区分调试签名与正式签名的,调试签名文件需要指定设备,即指定哪几个设备可以安装此签名的安装包;正式的签名文件不需要指定设备,但使用正式签名打出的安装包是不能直接安装到真机上的,这个会在后面的安装步骤介绍。而安装包也并不能在设备上直接点击安装。 下面可以看一下如何将HarmonyOS应用打包并安装到真机上。 ## 一、配置签名 配置签名需要3个文件 > xxxx.p12 密钥文件,可本地生成 xxxx.p7b HAP Provision Profile文件,需要从[华为应用网站](https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/) 创建并下载 xxxx.cer 数字证书,需要从[华为应用网站](https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/) 创建并下载 配置的代码如下 ``` debug { storeFile file('xxxx.p12') storePassword '***' keyAlias = 'debugKey' keyPassword '****' signAlg = 'SHA256withECDSA' profile file('xxxx.p7b') certpath file('xxxx.cer') } ``` ### 1、通过DevEco自动配置签名 使用此种配置方式只能配置调试签名文件,且前提是要有一台HarmonyOS系统的设备连接到电脑。需要设备连接是因为调试签名文件需要指定设备。 #### a. 在AppGallery Connect 网站建项目 AppGallery Connect网站连接为:[https://developer.huawei.com/consumer/cn/service/josp/agc/index.html](https://developer.huawei.com/consumer/cn/service/josp/agc/index.html) 不用点击或复制链接进入网站,可根据[使用真机调试](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section793484619307)文档的指引进入。如下图的红框1,点击进入即可  这里需要特别注意,***不能直接从“我的应用”图标进入,直接创建应用***。从“我的应用”进入创建不了HarmonyOS应用。只能从“我的项目”进入,创建项目后再创建HarmonyOS应用。  #### b. 在新建项目里创建HarmonyOS应用 创建HarmonyOS时选择项目左侧菜单的HarmonyOS应用进行创建,如下图  #### c. 自动填充签名信息 完成以上两步可以再根据[使用真机调试](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section793484619307)文档里的介绍进行处理即可。需要注意的是一定要在此界面勾选自动填充,即下图的“Automatically generate singing”选项,在网站创建应用后,回到此弹窗,点击下方的重试按钮或重新进入此页面,都会自动填充签名信息的。  ### 2、手动配置签名 手动配置主要有以下3步,具体的可参考[应用发布](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/publish_app-0000001053223745#section793484619307)文档,流程主要为以下4步 #### a. 创建密钥文件(.p12文件)和证书请求文件(.csr文件) #### b. 申请证书文件(.cer文件) #### c. 申请HAP Provision Profile文件(.p7b文件) #### d. 手动配置签名信息 ## 二、打包 使用gradle命令或直接在gradle面板执行打包任务即可。生成的hap文件位于build/outputs/hap/release/目录下。*注意,这里示意的为打release包,若打发debug包,把release换成debug即可*。 ### 1、使用gralde命令打包 ``` ./gradlew entry:assembleRelease ``` ### 2、使用gradle面板打包 打开DevEco Studio右上方的gradle面板,选择assembleRelease,双击运行即可。  ## 三、安装 目前测试发现***只能安装Debug包,且只能通过hdc命令进行安装***。使用发布证书打包出来的release安装包,安装时会提示以下错误信息,也就是设备不信任你的安装包,即使你的证书上在华为官网申请的也不行,可能是必须得上架到应用市场才可以吧。 > Failure[INSTALL_FAILED_APP_SOURCE_NOT_TRUSTED] 将hap复制到手机上手,不能像Android程序一样,点击安装包进行安装,系统不识别这种文件格式,会弹窗提示让选择打开的程序,如果选择“应用”,则提示“解析安装包失败”,这个提示很像是Android系统弹出的,而且选择打开的程序弹窗也像是Android系统的弹窗。使用hdc安装hap的命令为 ``` hdc app install xxx.hap ``` (图3 系统不能识别hap安装包)  (图3 不能使用“程序”应用处理hap安装包)  ## 四、总结 打包hap及安装到手机的流程与Android没有太大区别,而异同点主要体现在流程中的生成签名文件和安装上。 ### 生成签名文件 - 签名文件必须经过华为认证 - 使用调试签名文件签名的安装包只能安装到指定的设备 - 使用正式签名文件签名的安装包不能直接安装到真机,需要发布到应用市场才行 - 签名文件不能共用,每个应用都需要配置一个签名文件 ### 安装 - 安装包不能手动点击安装,只能通过hdc app install 或进入shell后使用bm install进行安装 [想了解更多关于鸿蒙的内容,请访问:](https://harmonyos.51cto.com/#bkwz) [51CTO和华为官方战略合作共建的鸿蒙技术社区](https://harmonyos.51cto.com/#bkwz) https://harmonyos.51cto.com/#bkwz
微信关注我们
原文链接:https://blog.51cto.com/harmonyos/3025171
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
相关文章
发表评论
资源下载
更多资源优质分享App
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
Mario
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
Apache Tomcat
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Eclipse
Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。