成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenHarmony應用簽名 - 系統應用簽名

系統 OpenHarmony
本篇文檔僅用于方便大家學習系統應用的開發和調試,不用做正式項目發布和商用使用。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

概述

文檔環境

開發環境:Windows 11

DevEco Studio 版本:DevEco Studio 3.1 Beta1(3.1.0.200)

SDK 版本:3.2.10.8(Full SDK)

開發板型號:DAYU 200

系統版本:OpenHarmony 3.2 Beta5

示例工程:??Applications_SystemUI (OpenHarmony 3.2 Beta5分支)???

功能簡介

OpenHarmony開源社區提供了標準系統上的部分系統應用,如桌面、SystemUI、設置等,為開發者提供了構建標準系統應用的具體實例,這些應用支持在所有標準系統的設備上使用。本篇文檔將介紹如何給這些系統應用進行簽名,使它們可以正確的安裝和運行在OpenHarmony系統上。本篇文檔僅用于方便大家學習系統應用的開發和調試,不用做正式項目發布和商用使用。

系統應用目前包含如下:

  1. ??Applications_Launcher??:Launcher 作為系統人機交互的首要入口,提供應用圖標的顯示、點擊啟動、卸載應用,并提供桌面布局設置以及最近任務管理等功能。
  2. ??Applications_SystemUI??:SystemUI應用是OpenHarmony中預置的系統應用,為用戶提供系統相關信息展示及交互界面,包括系統狀態、系統提示、系統提醒等,例如系統時間、電量信息。
  3. ??Applications_Settings??:設置應用是 OpenHarmony 系統中預置的系統應用,為用戶提供設置系統屬性的交互界面,例如設置系統時間,屏幕亮度等系統屬性。
  4. ??Applications_Camera??:相機應用是OpenHarmony標準系統中預置的系統應用,為用戶提供基礎的相機拍攝功能,包括預覽、拍照、攝像、縮略圖顯示、跳轉相冊、多機位協同。 Camera 采用純 arkui-ts 語言開發。
  5. ??Applications_Photos??:圖庫是系統內置的可視資源訪問應用,提供圖片和視頻的管理、瀏覽、顯示、編輯操作等功能,并支持默認相冊和用戶相冊管理。

除以上主要系統應用之外,還預置了一些簡單的示例應用,如時鐘、計算器、空氣質量等,可供開發者參考學習。

系統應用簽名

我們以相對較復雜的 Applications_SystemUI 項目為例,克隆 SystemUI 項目,使用 DevEco Studio 打開工程,查看當前工程的簽名配置 build-profile.json5 。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

當前默認工程是未配置簽名的狀態,所構建的包均為 unsigned 標記的HAP包,無法安裝到 OpenHarmony 系統中,下面我們分別使用 標準簽名 和 自動簽名 ,兩種方式給 SystemUI 工程配置簽名。

標準簽名:配置簡單,適用于工程中提供p7b簽名文件的工程。

自動簽名:配置較復雜,適用于工程中未提供p7b簽名文件或p7b簽名文件與系統配置不匹配的情況。

除以上兩種方式外還可使用手動簽名的方式生成簽名文件給應用簽名,此種方式更為復雜,但具有較高的靈活性,不在此篇文檔中進行介紹。

標準簽名

簽名文件獲取

拷貝 OpenHarmony 標準版工程簽名文件到 SystemUI 工程的 signature 目錄。打開??developtools_hapsigner??倉庫,進入 dist 目錄,點擊下載??OpenHarmony.p12???和??OpenHarmonyApplication.pem??(pem文件若無法直接下載,可直接在目錄中創建文件然后將內容拷貝到文件中)。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

把下載好的文件放入工程目錄的 signature 中。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

簽名文件配置

  1. DevEco Studio 3.1 Beta1 版本界面化配置簽名時,秘鑰不允許配置8位以下純數字秘鑰,而標準簽名文件的秘鑰為123456 ,所以無法通過DevEco Studio 界面進行簽名的配置。僅能使用手動配置build-profile.json5 文件方式,進行簽名信息的配置。下載??material包??解壓后放入signature 目錄中,material 文件夾中存放的為加密鹽文件,此包將給予簽名工具驗證秘鑰時使用。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 配置工程根路徑build-profile.json5 文件,拷貝以下簽名信息到配置文件中,其中storePassword keyPassword material 包與秘鑰加密生成的數據,keyAlias 為固定值"OpenHarmony Application Release"。
"signingConfigs": [{
"name": "release",
"material": {
"storePassword": "00000016D9DCF063F0FC4BBD0E7FE1E3B06A67C07BECE1BDD4E2A3EFDAE20F890810EC02AA2A",
"certpath": "signature/OpenHarmonyApplication.pem",
"keyAlias": "OpenHarmony Application Release",
"keyPassword": "00000016FD3897FD4C46940ED39FFC652872B7B18BEDCCA07400A6EBEE307C9C41B96DB6B64D",
"profile": "signature/systemui.p7b",
"signAlg": "SHA256withECDSA",
"storeFile": "signature/OpenHarmony.p12"
}
}],

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

構建安裝驗證

  1. 單擊Build >Build Hap(s)/APP(s) > Build Hap(s) 構建SystemUI 工程HAP包。

SystemUI 工程共有6個HAP包分別位于以下目錄:

systemui_entry:
entry\phone\build\default\outputs\default\phone_entry-default-signed.hap

systemui_volumepanel:
product\default\volumepanel\build\default\outputs\default\default_volumepanel-phone_entry-default-signed.hap

systemui_statusbar:
product\phone\statusbar\build\default\outputs\default\phone_statusbar-phone_entry-default-signed.hap

systemui_notificationmanagement:
product\default\notificationmanagement\build\default\outputs\default\default_notificationmanagement-phone_entry-default-signed.hap

systemui_navigationbar:
product\default\navigationBar\build\default\outputs\default\default_navigationBar-phone_entry-default-signed.hap

systemui_dropdownpanel:
product\phone\dropdownpanel\build\default\outputs\default\phone_dropdownpanel-phone_entry-default-signed.hap

  1. 使用"hdc file send {源地址} {目標地址}"命令分別把HAP包放入系統中替換當前SystemUI 項目的安裝包,SystemUI 安裝包路徑為/system/app/com.ohos.systemui/。

推送文件前需先獲取系統文件權限,執行"hdc shell mount -o remount,rw /"獲取權限。

hdc工具位于SDK/{Version}/toolchains/目錄中。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 在OpenHarmony系統Shell命令行 中執行"rm -rf /data/* && reboot"系統會刪除所有用戶數據并重啟,重啟后系統重新安裝全部系統應用。也可通過"bm instlal -p {HAP包地址} -u 0"的方式單獨安裝某一個HAP包進行驗證,不同系統應用在安裝過程中存在差異
  2. 在OpenHarmony系統Shell命令行 中使用"bm dump -n com.ohos.systemui | grep name"或查看界面SystemUI 是否啟動,驗證安裝是否成功。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

以下為一鍵替換安裝腳本,方便大家學習使用,可保存為 shell 或 bat 腳本,在 SystemUI 根目錄下執行:

set systemui_entry=entry\phone\build\default\outputs\default\phone_entry-default-signed.hap
set systemui_volumepanel=product\default\volumepanel\build\default\outputs\default\default_volumepanel-phone_entry-default-signed.hap
set systemui_statusbar=product\phone\statusbar\build\default\outputs\default\phone_statusbar-phone_entry-default-signed.hap
set systemui_notificationmanagement=product\default\notificationmanagement\build\default\outputs\default\default_notificationmanagement-phone_entry-default-signed.hap
set systemui_navigationbar=product\default\navigationBar\build\default\outputs\default\default_navigationBar-phone_entry-default-signed.hap
set systemui_dropdownpanel=product\phone\dropdownpanel\build\default\outputs\default\phone_dropdownpanel-phone_entry-default-signed.hap
set hdc=hdc
%hdc% shell mount -o remount,rw /
%hdc% shell rm -rf /data/*
%hdc% shell rm -rf /system/app/com.ohos.systemui/*
%hdc% file send %systemui_entry% /system/app/com.ohos.systemui/SystemUI.hap
%hdc% file send %systemui_volumepanel% /system/app/com.ohos.systemui/SystemUI-VolumePanel.hap
%hdc% file send %systemui_statusbar% /system/app/com.ohos.systemui/SystemUI-StatusBar.hap
%hdc% file send %systemui_notificationmanagement% /system/app/com.ohos.systemui/SystemUI-NotificationManagement.hap
%hdc% file send %systemui_navigationbar% /system/app/com.ohos.systemui/SystemUI-NavigationBar.hap
%hdc% file send %systemui_dropdownpanel% /system/app/com.ohos.systemui/SystemUI-DropdownPanel.hap
%hdc% shell reboot

自動簽名

修改權限文件

  1. 打開OpenHarmony SDK 所在目錄,可通過工程根路徑local.properties 文件或DevEco Studio 菜單欄中單擊File > Settings > SDK > OpenHarmony 界面查看 。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. OpenHarmony SDK 目錄下,進入{Version} > toolchains > lib 文件夾,打開 UnsgnedReleasedProfileTemplate.json 文件。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. apl 配置項配置為system_core app-feature 配置項配置為ohos_system_app , Profile 文件的修改參考??HarmonyAppProvision配置文件的說明??。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

配置工程簽名

  1. 單擊File > Project Structure > Project > SigningConfigs 界面勾選Automatically generate signature ,等待自動簽名完成即可,單擊OK。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 查看build-profile.json5 配置信息,配置信息中增加自動簽名生成的證書信息。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

證書指紋獲取

方式一(官方推薦)
  1. 證書存放在HarmonyAppProvision 文件(修改權限文件中修改的Profile文件)的distribution-certificate 字段下,新建profile.cer 文件,將證書的內容拷貝到profile.cer 文件中。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. profile.cer 內容換行和去掉換行符。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 使用keytool 工具執行 "keytool -printcert -file profile.cer" 打印對應的證書指紋。

若提示以下信息,則未安裝 Java環境 或 keytool工具 未加入環境變量中。可安裝后再次嘗試,或使用完整路徑使用工具。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

打印指紋信息:

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 處理證書指紋,使用SHA256證書信息,去掉冒號,最終結果為:

A08D9DAB5FF3012158CDAA68D45ACAEE49F848E05065ED1CEF29A9B2724E3FA6

方式二(個人推薦)
  1. 單擊Build > Build Hap(s)/APP(s) > Build Hap(s) 構建SystemUI 工程HAP包。找到 SystemUI_Entry模塊構建的HAP包目錄,位于工程路徑 \entry\phone\build\default\outputs\default\ 中。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 把HAP推送至系統中。

hdc file send entry\phone\build\default\outputs\default\phone_entry-default-signed.hap /data/

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. DevEco Studio 中打開Log 界面,選擇HiLog 過濾 "finger" 字符。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 進入系統Shell命令行 ,設置Hilog 等級。

hilog -b D

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 安裝推送進系統的SystemUI_Entry 構建的HAP包,此時會發現安裝報錯,是因為我們HAP包的指紋信息與系統中配置的不同導致,但此時我們目的為獲取指紋信息,忽略報錯信息。

bm install -p /data/phone_entry-default-signed.hap -u 0

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 查看DevEco Studio Log 界面,指紋信息已經被打印出來。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

A08D9DAB5FF3012158CDAA68D45ACAEE49F848E05065ED1CEF29A9B2724E3FA6

應用特權配置

  1. 提取當前系統中的特權配置文件install_list_capability.json ,文件位于/etc/app/ 

hdc file recv /etc/app/install_list_capability.json D:\

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 找到install_list_capability.json SystemUI 配置段。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 替換app_signature為我們在證書指紋獲取章節中獲取到的指紋信息并保存。

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 將特權配置文件install_list_capability.json 推送回系統中,覆蓋系統配置。

hdc shell "mount -o remount,rw /"
hdc file send d:\install_list_capability.json /etc/app/install_list_capability.json

OpenHarmony應用簽名 - 系統應用簽名-開源基礎軟件社區

  1. 重啟系統特權配置文件生效。

構建安裝驗證

同標準簽名。

文章相關附件可以點擊下面的原文鏈接前往下載:

https://ost.51cto.com/resource/2546。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2023-05-23 14:53:26

鴻蒙應用開發

2023-02-22 15:11:51

鴻蒙應用簽名

2022-03-02 16:08:31

Harmony應用開發鴻蒙

2022-09-21 14:58:11

OH應用簽名鴻蒙

2023-07-11 14:37:20

私有簽名密鑰

2017-09-07 16:00:20

2021-12-27 16:20:45

鴻蒙HarmonyOS應用

2011-05-27 10:13:39

Android 簽名

2017-02-24 09:30:17

iOS簽名代碼

2011-11-03 09:41:35

Android簽名安全性

2022-03-14 15:26:59

Hi3516Ark子系統鴻蒙

2023-04-17 16:14:55

靜態訂閱鴻蒙

2009-08-14 13:40:17

數字簽名電子簽名安全體系結構

2012-08-08 17:41:49

防火墻防火墻規則應用程序簽名

2010-01-14 10:05:48

Ubuntu數字簽名

2014-07-28 10:09:30

Android

2022-04-29 14:56:40

通話應用源碼剖析

2022-11-04 14:58:59

應用開發鴻蒙

2022-11-25 16:27:07

應用開發鴻蒙

2023-06-27 15:02:47

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜激情一区 | 精品国产乱码 | av激情在线| 久久天天综合 | 91视频一区二区三区 | 羞羞在线视频 | 九色 在线| 欧美黑人一级爽快片淫片高清 | 成人在线免费看 | 国产999精品久久久 午夜天堂精品久久久久 | 日一区二区 | www.日韩高清| 日韩手机在线看片 | 国产精品一区2区 | 欧美日韩久久 | 精品久久国产 | 在线 丝袜 欧美 日韩 制服 | 天天操天天拍 | 国产精品久久久久无码av | 凹凸日日摸日日碰夜夜 | 最近日韩中文字幕 | 精品久久视频 | 欧美日韩亚洲视频 | 国产精品一区一区 | 国产精品一区二区三 | 天天操夜夜操 | 9久9久9久女女女九九九一九 | 国产午夜精品久久久 | 久久久久一区二区三区四区 | 国产精品福利一区二区三区 | 欧美伊人久久久久久久久影院 | 色又黄又爽网站www久久 | 久久综合久久久 | 国产精品成人一区二区三区 | 日韩视频精品 | 国产精品久久九九 | 亚洲一区 中文字幕 | 亚洲第一区国产精品 | 伊色综合久久之综合久久 | 亚洲精品乱码久久久久久9色 | 亚洲一区中文字幕 |