背景
OpenAtom OpenHarmony(以下簡(jiǎn)稱“OpenHarmony”)應(yīng)用如果需要對(duì)外發(fā)布就必須要通過應(yīng)用簽名,DevEco Studio已提供自動(dòng)簽名功能加速應(yīng)用開發(fā),但自動(dòng)簽名僅限于debug開發(fā),如需對(duì)外發(fā)布則必須完成release簽名。在OpenHarmony中有AGC應(yīng)用商店可以幫助開發(fā)者完成release簽名,本文將介紹OpenHarmony應(yīng)用簽名方法的步驟,將使用OpenHarmony官方提供的簽名工具對(duì)HAP進(jìn)行簽名。
使用DevEco Studio完成HAP自動(dòng)簽名
打開DevEco Studio工具,點(diǎn)擊右上角Project Structure進(jìn)入工程配置頁面
點(diǎn)擊Project -> Signing Configs,勾選Automatically generate signing,點(diǎn)擊OK
點(diǎn)擊Build -> Rebuild Project 或 Build HAP都可以編譯構(gòu)建HAP包
編輯構(gòu)建完成后我們可以得到未簽名的HAP包
這個(gè)包可以用于Debug調(diào)試,但不能用于Release正式發(fā)布
IDE對(duì)HAP包簽名的密碼限制
從理論上講,我們也可以通過DevEco Studio進(jìn)行HAP包的發(fā)布簽名,但是官方提供的OpenHarmony.p12文件密碼為123456
而IDE不支持使用123456這樣的簡(jiǎn)單的密碼,它達(dá)不到密碼安全級(jí)別
因此,使用官方加密文件完成簽名暫時(shí)行不通
我們改變思路,使用命令行方式完成簽名,這樣可以繞過IDE的限制
使用官方開源簽名工具完成簽名
查閱官方資料發(fā)現(xiàn),官方已經(jīng)提供了命令行簽名工具
https://gitee.com/openharmony/developtools_hapsigner
我們通過修改配置文件、執(zhí)行腳本,即可完成HAP簽名具體步驟如下:
1 安裝工具依賴環(huán)境
安裝python3.10(下載鏈接:https://www.python.org/downloads/),通過命令行驗(yàn)證安裝是否成功
安裝jdk,配置好環(huán)境變量,通過命令行驗(yàn)證安裝是否成功
2 將簽名工具代碼拉取到本地保存,修改配置文件
git clone https://gitee.com/openharmony/developtools_HAPsigner.git
修改developtools_HAPsignerautosignsignHAP.config文件配置
# config.signtool改為HAP-sign-tool.jar的絕對(duì)路徑,可以在dist目錄中找到
config.signtool=E:/openharmony/developtools_HAPsigner/dist/HAP-sign-tool.jar
# common.keystoreFile改為OpenHarmony.p12的絕對(duì)路徑,可以在dist目錄中找到
common.keystoreFile=E:/openharmony/developtools_HAPsigner/dist/OpenHarmony.p12
# app.keypair.keyAlias改為OpenHarmony Application Release
app.keypair.keyAlias=OpenHarmony Application Release
# cert.app.outFile改為OpenHarmonyApplication.pem的絕對(duì)路徑,可以在dist目錄中找到
cert.app.outFile=E:/openharmony/developtools_HAPsigner/dist/OpenHarmonyApplication.pem
# sign.profile.outFile改為官方提供的p7b絕對(duì)路徑,比如launcher代碼中提供了launcher.p7b加密文件
sign.profile.outFile=E:/openharmony/signfiles/launcher/launcher.p7b
# sign.app.inFile為未簽名HAP路徑
sign.app.inFile=E:/openharmony/applications_launcher/product/phone/build/default/outputs/default/phone-launcher-default-unsigned.HAP
# sign.app.outFile為簽名后的HAP保存路徑
sign.app.outFile=E:/openharmony/applications_launcher/product/phone/build/default/outputs/default/phone-launcher-signed.HAP
3 完成配置文件修改后,執(zhí)行簽名腳本
# 進(jìn)入簽名工具autosign目錄
cd E:openharmonydeveloptools_HAPsignerautosign
# 執(zhí)行python腳本
python .autosign.py signHAP
簽名成功后顯示Success
到指定目錄下可以找到簽名后的HAP
總結(jié)
DevEco Studio開發(fā)工具為開發(fā)人員提供了非常友好的HAP自動(dòng)簽名功能及非常便捷的Debug包。由于IDE的安全密碼要求,對(duì)于Release包的發(fā)布我們暫時(shí)需要手動(dòng)簽名,尤其是系統(tǒng)級(jí)的應(yīng)用。我們可以利用官方提供的簽名工具較為容易地完成release包簽名,后續(xù)可以自行開發(fā)GUI工具進(jìn)一步提升簽名效率。
審核編輯:湯梓紅
-
OpenHarmony
+關(guān)注
關(guān)注
25文章
3749瀏覽量
16616 -
DevEco Studio
+關(guān)注
關(guān)注
0文章
26瀏覽量
1146
原文標(biāo)題:OpenHarmony應(yīng)用HAP包簽名
文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
OpenHarmony原子化服務(wù)開發(fā)快速入門體驗(yàn)(下)
![<b class='flag-5'>OpenHarmony</b>原子化服務(wù)開發(fā)快速入門體驗(yàn)(下)](https://file.elecfans.com//web2/M00/4C/63/poYBAGKyelyAOjlWAABPjIP7rgc008.png)
在OpenHarmony2.0 上安裝自己的系統(tǒng)應(yīng)用
HarmonyOS與OpenHarmony應(yīng)用開發(fā)差異
基于OpenHarmony應(yīng)用開發(fā)的簽名配置
OpenHarmony應(yīng)用的簽名配置的流程解析
OpenHarmony hap包安裝失敗的原因及其解決方法解析
OpenHarmony設(shè)置自動(dòng)化簽名報(bào)錯(cuò)怎么解決?
燒錄OpenHarmony 3.2(嘗鮮版)步驟
OpenHarmony原子化服務(wù)開發(fā)快速入門體驗(yàn)(下)
OpenHarmony應(yīng)用Hap包簽名
OpenHarmony應(yīng)用HAP包簽名
“簽名的簽名”之實(shí)現(xiàn)技術(shù)研究
OpenHarmony Dev-Board-SIG專場(chǎng):HDF驅(qū)動(dòng)移植步驟
![<b class='flag-5'>OpenHarmony</b> Dev-Board-SIG專場(chǎng):HDF驅(qū)動(dòng)移植<b class='flag-5'>步驟</b>](https://file.elecfans.com/web2/M00/2A/80/poYBAGHKsVKAOU9zAASry2DwTyM552.png)
技術(shù)專家分享:OpenHarmony應(yīng)用HAP包簽名
OpenHarmony開發(fā)實(shí)例:【配置應(yīng)用簽名信息】
![<b class='flag-5'>OpenHarmony</b>開發(fā)實(shí)例:【配置應(yīng)用<b class='flag-5'>簽名</b>信息】](https://file1.elecfans.com/web2/M00/D5/CB/wKgaomYmJD-AA38qAAA8eT-R7KU109.jpg)
評(píng)論