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

OpenHarmony預(yù)置系統(tǒng)應(yīng)用編譯安裝全流程記錄

系統(tǒng) OpenHarmony
SystemUI應(yīng)用是OpenHarmony中預(yù)置的系統(tǒng)應(yīng)用,為用戶提供系統(tǒng)相關(guān)信息展示及交互界面,包括系統(tǒng)狀態(tài)、系統(tǒng)提示、系統(tǒng)提醒等,例如系統(tǒng)時(shí)間、電量信息。

??想了解更多內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??

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

開發(fā)環(huán)境

  • 系統(tǒng)版本:OpenHarmony 3.0LTS / OpenHarmony 3.1beta
  • 開發(fā)板:3516 / rk3568
  • IDE:DevEco3.0.0.800

開源系統(tǒng)應(yīng)用

  • SystemUI

SystemUI應(yīng)用是OpenHarmony中預(yù)置的系統(tǒng)應(yīng)用,為用戶提供系統(tǒng)相關(guān)信息展示及交互界面,包括系統(tǒng)狀態(tài)、系統(tǒng)提示、系統(tǒng)提醒等,例如系統(tǒng)時(shí)間、電量信息。

https://gitee.com/openharmony/applications_systemui

  • Settings

設(shè)置應(yīng)用是 OpenHarmony 系統(tǒng)中預(yù)置的系統(tǒng)應(yīng)用,為用戶提供設(shè)置系統(tǒng)屬性的交互界面,例如設(shè)置系統(tǒng)時(shí)間,屏幕亮度等系統(tǒng)屬性。

https://gitee.com/openharmony/applications_settings

  • Launcher

Launcher 作為系統(tǒng)人機(jī)交互的首要入口,提供應(yīng)用圖標(biāo)的顯示、點(diǎn)擊啟動(dòng)、卸載應(yīng)用,并提供桌面布局設(shè)置以及最近任務(wù)管理等功能。

Launcher 采用純 JS 語(yǔ)言開發(fā),開發(fā)過程中不涉及任何 Java 部分的代碼。

https://gitee.com/openharmony/applications_launcher

導(dǎo)入工程

代碼下載

git clone '復(fù)制的下載地址'

我本人喜歡用可視化TortoiseGit。

接下來我們拿SystemUI項(xiàng)目進(jìn)行示例。

項(xiàng)目倉(cāng)庫(kù):https://gitee.com/openharmony/applications_systemui

代碼下載完成后,記得切換分支與當(dāng)前開發(fā)板系統(tǒng)保持一致。

使用其他分支可能由于每個(gè)版本系統(tǒng)底層實(shí)現(xiàn)修改而出現(xiàn)問題。

打開工程

選擇Open File or Project,選擇項(xiàng)目文件夾即可。

選擇OK后,會(huì)彈出詢問框。

選擇Update。

再次彈出詢問框。

選擇Trust Project。

等待右下角gradle build進(jìn)度完成。

提示報(bào)錯(cuò)。

根據(jù)錯(cuò)誤提示,我們打開build.gradle。

將build.gradle中http開頭的鏈接修改為https。

buildscript {
repositories {
maven {
url 'https://repo.ark.tools.huawei.com/artifactory/maven-public/'
}
...
}
dependencies {
classpath 'com.huawei.ohos:hap:3.0.5.2'
}
}

allprojects {
repositories {
maven {
url 'https://repo.ark.tools.huawei.com/artifactory/maven-public/'
}
...
}
}

修改時(shí)會(huì)彈出詢問框,選擇OK。

選擇重新同步工程。

終于可以看到工程目錄了。

檢查build.gradle文件

每次修改該文件后,會(huì)提示要求重新同步,選擇進(jìn)行同步即可。

檢查local.properties文件

例如settings工程該文件可能會(huì)出現(xiàn)內(nèi)容錯(cuò)亂。

刪除不需要的內(nèi)容,我們只需要配置:

  • sdk.dir
  • nodejs.dir
  • npm.dir

執(zhí)行Build

會(huì)發(fā)現(xiàn)多了很多警告,導(dǎo)致Build失敗。

我們按照錯(cuò)誤一個(gè)一個(gè)進(jìn)行修改。

  • \entry\src\main\config.json
  • \product\navigationBar\src\main\config.json
  • \product\notificationmanagement\src\main\config.json
  • \product\statusbar\src\main\config.json

在配置中添加installationFree

...
},
"distro": {
...
"installationFree": true
},
...

重新Build,出現(xiàn)了新的錯(cuò)誤。

繼續(xù)按照錯(cuò)誤一個(gè)一個(gè)進(jìn)行修改。發(fā)現(xiàn)引起錯(cuò)誤的原因是由于資源文件內(nèi)容都是空。

那么我們一個(gè)一個(gè)將資源文件補(bǔ)充進(jìn)去。

  • \features\airplanecomponent\src\main\resources\base\element\string.json
  • \features\airplanecomponent\src\main\resources\base\element\color.json
  • \features\capsulecomponent\src\main\resources\base\element\string.json
  • \features\wificomponent\src\main\resources\base\element\color.json
  • \features\statusbarcomponent\src\main\resources\base\element\string.json
  • \features\statusbarcomponent\src\main\resources\en_US\element\string.json
  • \features\statusbarcomponent\src\main\resources\zh_CN\element\string.json
// 這樣的資源文件內(nèi)容會(huì)引起報(bào)錯(cuò)
{
"string": [

]
}

// 隨便補(bǔ)充內(nèi)容即可
{
"string": [
{
"name": "xxx",
"value": "xxx"
}
]
}

修改完成,再次進(jìn)行Build,成功!

可以在工程的build目錄下查看到所有未簽名的hap包。

應(yīng)用簽名

需要使用的別名與密|碼 (密|碼為什么是敏感詞啊_(:з」∠)_):

Alias:OpenHarmony Application Release

Password:123456

生成簽名文件

查看了官方的簽名工具倉(cāng):https://gitee.com/openharmony/signcenter_tool

發(fā)現(xiàn)官方就是沒提供.cer,只好自己生成一個(gè)。在工具倉(cāng)你可以獲取到一個(gè)OpenHarmony.p12的文件。

## .csr
keytool -certreq -alias "OpenHarmony Application Release" -keystore E:\signcenter_tool\key\OpenHarmony.p12 -storetype pkcs12 -file E:\signcenter_tool\key\OpenHarmony.csr
## .cer
## 需要進(jìn)入Openharmony SDK路徑/toolchain/lib目錄下執(zhí)行
keytool -gencert -alias "OpenHarmony Application CA" -infile E:\signcenter_tool\key\OpenHarmony.csr -outfile E:\signcenter_tool\key\OpenHarmony.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:"critical=digitalSignature" -validity 3650 -rfc

獲取應(yīng)用 Profile 文件

每個(gè)官方開源工程下都有個(gè)signature文件夾,直接使用里面的p7b文件即可。

也可以重新生成,自行生成參考官方文檔。

配置簽名

打開Project Strcture->Modules->Signing Configs,去掉勾選Automatically generate signing,填寫簽名配置。

執(zhí)行Apply后會(huì)彈出提示框,忽略即可。

需要配置簽名的Modules如下:

  • navigationBar
  • statusbar
  • systemDialog(3.1beta已去掉)

執(zhí)行Build,即可在工程build目錄下看到已簽名完成的hap包。

應(yīng)用安裝

hdc_std使用指導(dǎo):https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/subsystems/subsys-toolchain-hdc-guide.md

OpenHarmony 3.0LTS

臨時(shí)安裝

使用一般hap包安裝方式,適合臨時(shí)調(diào)試。清除設(shè)備中存儲(chǔ)的應(yīng)用信息后,系統(tǒng)應(yīng)用將啟用原來預(yù)置的系統(tǒng)包。

hdc_std install [-r/-d/-g] 應(yīng)用路徑

內(nèi)置安裝

# 進(jìn)入交互命令環(huán)境
hdc_std shell

如果設(shè)備不存在 /system/app 目錄,則需要手動(dòng)創(chuàng)建該目錄并修改權(quán)限。

$ cd system
$ mkdir app
$ chmod 777 app

/system/app 目錄放置系統(tǒng)應(yīng)用,例如:Launcher,SystemUI,Settings 等。

發(fā)送hap包到目錄。

hdc_std file send [文件路徑]\[應(yīng)用].hap system/app/[應(yīng)用].hap

新加入的hap包需要在該目錄下手動(dòng)設(shè)置權(quán)限。

$ chmod 666 hap包名

每次系統(tǒng)重啟,都會(huì)自動(dòng)拉起該目錄下的所有應(yīng)用。

$ reboot

注意,如果設(shè)備之前安裝過系統(tǒng)應(yīng)用,則需要執(zhí)行如下兩條命令清除設(shè)備中存儲(chǔ)的應(yīng)用信息才能夠在設(shè)備重啟的時(shí)候?qū)⑽覀冄b入設(shè)備的新 hap 包正常拉起。

hdc_std  shell rm -rf /data/misc_de/0/mdds/0/default/bundle_manager_service
hdc_std shell rm -rf /data/accounts

OpenHarmony 3.1beta

臨時(shí)安裝

同OpenHarmony 3.0LTS臨時(shí)安裝操作。

3.1beta臨時(shí)安裝可能會(huì)出現(xiàn)界面不刷新的情況,建議是安裝系統(tǒng)應(yīng)用后,進(jìn)行重啟。

# 安裝應(yīng)用
hdc_std install [-r/-d/-g] 應(yīng)用路徑
# 成功安裝后,3.1beta需要重啟系統(tǒng)
hdc_std shell reboot

內(nèi)置安裝

進(jìn)入交互命令環(huán)境。

hdc_std shell

3.1beta系統(tǒng)重啟后,都需要先更改目錄權(quán)限,才能進(jìn)行操作。

# 更改權(quán)限
$ mount -o remount,rw /
# 完成后退出
$ exit

后續(xù)安裝操作同OpenHarmony 3.0LTS內(nèi)置安裝操作。

完成后重啟系統(tǒng)即可。

hdc_std shell rm -rf /data/misc_de/0/mdds/0/default/bundle_manager_service
hdc_std shell rm -rf /data/accounts
hdc_std shell reboot

感興趣的小伙伴趕緊上手試一下吧~

??想了解更多內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??

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

責(zé)任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2021-09-16 15:04:28

鴻蒙HarmonyOS應(yīng)用

2021-12-02 10:05:01

鴻蒙HarmonyOS應(yīng)用

2022-05-10 11:02:02

電話子系統(tǒng)鴻蒙

2021-06-28 09:38:50

鴻蒙HarmonyOS應(yīng)用

2011-01-19 17:13:44

Sylpheed

2023-09-06 15:27:22

ADC鴻蒙

2023-09-19 15:21:33

RTC鴻蒙

2023-09-06 15:31:19

GPIO鴻蒙

2023-09-19 15:14:59

鴻蒙Watchdog

2023-03-01 14:55:09

2011-02-22 10:57:02

2023-12-11 17:30:52

預(yù)安裝應(yīng)用鴻蒙Launcher

2023-12-11 17:26:21

Launcher鴻蒙預(yù)安裝應(yīng)用

2023-06-12 15:43:44

鴻蒙智能家居開發(fā)

2023-02-01 16:28:30

Linux內(nèi)核鴻蒙

2023-04-21 15:54:08

應(yīng)用開發(fā)鴻蒙

2009-11-25 10:14:15

memcachedb編譯安裝

2022-08-29 17:34:05

鴻蒙操作系統(tǒng)

2023-03-09 15:10:49

應(yīng)用開發(fā)鴻蒙

2023-03-09 15:15:21

鴻蒙模塊編譯
點(diǎn)贊
收藏

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