自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹

系統(tǒng) OpenHarmony
本文從文件準(zhǔn)備、生成簽名包、系統(tǒng)集成幾個(gè)方面,介紹如何在OpenHarmony系統(tǒng)上開發(fā)自定義的系統(tǒng)應(yīng)用,供開發(fā)者學(xué)習(xí)參考。

想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

前言

OpenHarmony系統(tǒng)應(yīng)用是指預(yù)裝在OpenHarmony操作系統(tǒng)中的應(yīng)用程序,也稱為系統(tǒng)應(yīng)用。這些應(yīng)用程序通常由操作系統(tǒng)開發(fā)者開發(fā),包括系統(tǒng)設(shè)置、電話、短信、瀏覽器、相機(jī)、音樂、視頻等常用應(yīng)用程序。這些應(yīng)用程序通常具有更高的權(quán)限和更深入的系統(tǒng)集成,可以訪問更多的系統(tǒng)資源和功能。
自定義系統(tǒng)應(yīng)用是指用戶自己開發(fā)或定制的OpenHarmony系統(tǒng)應(yīng)用程序。用戶可以根據(jù)自己的需求和喜好,開發(fā)或定制自己的系統(tǒng)應(yīng)用程序,如主題、鎖屏、桌面、通知欄等。這些應(yīng)用程序通常具有更高的個(gè)性化和定制化,可以滿足用戶更多的需求和偏好。

本文從文件準(zhǔn)備、生成簽名包、系統(tǒng)集成幾個(gè)方面,介紹如何在OpenHarmony系統(tǒng)上開發(fā)自定義的系統(tǒng)應(yīng)用,供開發(fā)者學(xué)習(xí)參考。

1、文件準(zhǔn)備

(1)未簽名應(yīng)用包

選模板

在DevEco Studio中選擇自定義應(yīng)用所需的模板。

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

然后選擇自定義應(yīng)用所需的應(yīng)用模型、SDK。

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

最后按照模板引導(dǎo)創(chuàng)建ArkTS工程。

編譯包

工程創(chuàng)建成功后,啟動(dòng)編譯選項(xiàng),生成未簽名的hap包。

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

編譯成功后,在工程目錄\entry\build\default\outputs\default路徑下,可見生成的未簽名hap包。

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

(2)簽名所需文件

為了保證OpenHarmony應(yīng)用的完整性和來源可靠,在應(yīng)用構(gòu)建時(shí)需要對(duì)應(yīng)用進(jìn)行簽名。經(jīng)過簽名的應(yīng)用才能在真機(jī)設(shè)備上安裝、運(yùn)行、和調(diào)試。
本文介紹的是使用簽名工具以命令行方式進(jìn)行Hap包簽名的方法,簽名所需文件如下:

  • 簽名密鑰庫文件:OpenHarmony.p12
  • Profile簽名證書:OpenHarmonyProfileRelease.pem、OpenHarmonyProfileDebug.pem
  • Profile模板文件:UnsgnedReleasedProfileTemplate.json、UnsgnedDebugProfileTemplate.json
  • 簽名工具:hap-sign-tool.jar

以上文件可在SDK中會(huì)獲得。

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

簽名工具工具詳細(xì)說明。

2、生成簽名應(yīng)用包

(1)修改profile

app1-profile-release.json中會(huì)定義當(dāng)前應(yīng)用名稱"bundle-name"、應(yīng)用的權(quán)限等級(jí)"apl"。
權(quán)限等級(jí)有normal、system_basic、system_core三種,默認(rèn)等級(jí)為normal,對(duì)于系統(tǒng)應(yīng)用的話,需要修改權(quán)限,此處改為system_core。
應(yīng)用名稱改為用戶自定義的包名即可,此處改為com.example.zjxapp。

{
  "version-name": "2.0.0",
  "version-code": 2,
  "app-distribution-type": "os_integration",
  "uuid": "5027b99e-5f9e-465d-9508-a9e0134ffe18",
  "validity": {
    "not-before": 1594865258,
    "not-after": 1689473258
  },
  "type": "release",
  "bundle-info": {
    "developer-id": "OpenHarmony",
    "distribution-certificate": "-----BEGIN CERTIFICATE-----\nMIICFTCCAZmgAwIBAgIEFRGSbjAMBggqhkjOPQQDAwUAMGMxCzAJBgNVBAYTAkNO\nMRQwEgYDVQQKEwtPcGVuSGFybW9ueTEZMBcGA1UECxMQT3Blbkhhcm1vbnkgVGVh\nbTEjMCEGA1UEAxMaT3Blbkhhcm1vbnkgQXBwbGljYXRpb24gQ0EwHhcNMjIwNDAy\nMDY1OTA4WhcNMzIwMzMwMDY1OTA4WjBKMRUwEwYDVQQDDAxpZGVfZGVtb19hcHAx\nDTALBgNVBAsTBFVuaXQxFTATBgNVBAoTDE9yZ2FuaXphdGlvbjELMAkGA1UEBhMC\nQ04wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARGc9ftjM6ncln8AqF0AhTsyphc\nhmKWktwgsZwisqy7X+clViYnbw9WpRRoxJYeZ6GL3MUiOHiM9UDpwOmjdYPOo1Iw\nUDAdBgNVHQ4EFgQUG91q9tKNxBRQgQFzfuSnhrP/mKcwDgYDVR0PAQH/BAQDAgeA\nMB8GA1UdIwQYMBaAFNuGtyIW1QuhS7fdJXu58QV9oi1HMAwGCCqGSM49BAMDBQAD\naAAwZQIweNK78cfmJdBVSMowMukZoIevBFNRNVYaUxxWpbn+X2Y9x8STmxqHhPj6\np0wKd9qnAjEAuU/AuW9NO04joHCJnM0I2PkDWJKw+eJiVc3ggLAOJTE9TfXyN0JM\nUdjqqzpQQj4u\n-----END CERTIFICATE-----\n",
    "bundle-name": "com.example.zjxapp",
    "apl": "system_core",
    "app-feature": "hos_system_app"
  },
  "acls": {
    "allowed-acls": [
      ""
    ]
  },
  "permissions": {
    "restricted-permissions": [
     
    ]
  },
  "issuer": "pki_internal"
}

(2)簽名Profile

Profile簽名流程如下圖:

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

由圖可見,根據(jù)sdk中的p12文件、2.1章節(jié)的profile文件,可以生成簽名的Profile文件,文件格式為*.p7b;命令如下

java -jar hap-sign-tool.jar  sign-profile -keyAlias "OpenHarmony Application Release" -signAlg "SHA256withECDSA" -mode "localSign" -profileCertFile "OpenHarmonyApplication.pem" -inFile "app1-profile-release.json" -keystoreFile "OpenHarmony.p12" -outFile "profile.p7b" -keyPwd "123456" -keystorePwd "123456"

(3)簽名應(yīng)用

應(yīng)用簽名流程如下圖:

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

由圖可見,根據(jù)1.1中未簽名的應(yīng)用包以及2.2簽名的Profile文件,可以生成簽名的應(yīng)用,命令如下

java -jar hap-sign-tool.jar sign-app -keyAlias "OpenHarmony Application Release" -signAlg "SHA256withECDSA" -mode "localSign" -appCertFile "OpenHarmonyApplication.pem" -profileFile "profile.p7b" -inFile "entry-default-unsigned.hap" -keystoreFile "OpenHarmony.p12" -outFile "zjxapp.hap" -keyPwd "123456" -keystorePwd "123456"

注意:entry-default-unsigned.hap為你未簽名的hap包,zjxapp.hap為簽名后生成的包

3、系統(tǒng)集成

(1)增加hap包

將2.3生成的包拷貝到applications\standard\hap路徑下

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

(2)修改gn文件

gn文件路徑為:\applications\standard\hap\BUILD.gn,在文件中增加如下代碼:

ohos_prebuilt_etc("zjxapp_hap") {
  source = "zjxapp.hap"
  module_install_dir = "app/com.ohos.zjxapp"
  part_name = "prebuilt_hap"
  subsystem_name = "applications"
}

修改依賴項(xiàng)deps,增加zjxapp_hap:

group("hap") {
deps = [
"http://applications/standard/hap:calc_demo_hap",
"http://applications/standard/hap:zjxapp_hap",
]

(3)修改預(yù)安裝配置

獲取app_signature

app_signature信息需要在系統(tǒng)預(yù)安裝配置中使用,故需要優(yōu)先生成app_signature。

新建profiler.cer文件

任意路徑下新建一文件,命名為profiler.cer

添加profiler.cer內(nèi)容

根據(jù)2.2生成的p7b文件中distribution-certificate字段的值到profiler.cer文件中,去掉回車符,示例如圖:

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

獲取app_signature

到profiler.cer路徑下,在命令行終端中根據(jù)證書文件獲取簽名信息,命令如下:

keytool -printcert -file .\profiler.cer

命令執(zhí)行后結(jié)果如圖所示:

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

將SHA256值去掉冒號(hào)即可得到app_signature

修改權(quán)限配置文件

修改install_list

根據(jù)包名修改vendor\hihope\rk3568\preinstall-config\install_list.json

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

修改install_list_capability

根據(jù)包名、app_signature修改vendor\hihope\rk3568\preinstall-config\install_list_capability.json

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

修改install_list_permissions

根據(jù)包名、app_signature、以及需要的權(quán)限修改vendor\hihope\rk3568\preinstall-config\install_list_permissions.json

OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)OpenHarmony自定義系統(tǒng)應(yīng)用之實(shí)踐介紹-開源基礎(chǔ)軟件社區(qū)

(4)編譯燒錄

以上修改完成后,編譯成功,進(jìn)行燒錄。燒錄成功后,預(yù)置的系統(tǒng)應(yīng)用顯示在桌面上。

4、總結(jié)

本文介紹如何在OpenHarmony系統(tǒng)上開發(fā)自定義的系統(tǒng)應(yīng)用,重點(diǎn)介紹了如何使用打包工具命令行方式生成應(yīng)用簽名包的方法,以及如何修改預(yù)置應(yīng)用配置的步驟,開發(fā)者在此基礎(chǔ)上即可開發(fā)自定義的系統(tǒng)應(yīng)用程序,以便更好地提高系統(tǒng)的定制化和個(gè)性化、增強(qiáng)系統(tǒng)的功能和競爭力、滿足用戶需求等。

想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

責(zé)任編輯:jianghua 來源: 51CTO 開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2022-02-21 15:05:09

LauncherOpenHarmon鴻蒙

2011-08-11 11:51:07

iPhone鍵盤

2023-08-10 17:14:52

鴻蒙自定義彈窗

2022-04-07 14:17:15

Harmonytoast組件鴻蒙

2022-03-01 16:09:06

OpenHarmon鴻蒙單選組件

2023-12-21 09:00:21

函數(shù)React 組件useEffect

2017-05-19 10:03:31

AndroidBaseAdapter實(shí)踐

2012-07-24 15:03:19

OpenStack架構(gòu)

2009-08-04 08:58:01

C#自定義特性

2022-05-26 14:50:15

ArkUITS擴(kuò)展

2017-05-18 12:36:16

android萬能適配器列表視圖

2009-12-23 14:49:46

WPF面板

2025-01-22 11:10:34

2022-03-21 15:19:27

鴻蒙UI組件ets自定義

2009-08-28 17:45:19

C#自定義數(shù)據(jù)

2009-12-24 15:22:10

WPF繼承自定義窗口

2010-08-12 09:45:33

jQuery自定義事件

2009-08-04 12:56:51

C#自定義事件

2022-04-01 16:04:33

Harmonytabs容器鴻蒙

2023-06-20 15:45:15

服務(wù)卡片鴻蒙
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)