0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何在鴻蒙系統(tǒng)上弄一個(gè)ArkUI應(yīng)用

OpenHarmony技術(shù)社區(qū) ? 來源:鴻蒙技術(shù)社區(qū) ? 作者:拓維云創(chuàng)qzk ? 2021-11-15 09:28 ? 次閱讀

大家可以看到很明顯這是一個(gè) ArkUI 的應(yīng)用,在遠(yuǎn)程模擬器上目前還只可以跑在 P40 Pro 上。

其實(shí)為了這個(gè)目的,只需要做到兩個(gè)步驟,第一步整出一個(gè) ArkUI 的應(yīng)用來,第二步將該應(yīng)用放上 Hi3516 跑起來,OK,這就是總體思路,然后順著這個(gè)步驟,一步一步來做。

整一個(gè) ArkUI的應(yīng)用

因?yàn)槲疫@里的主要目的是為了測試 3516 標(biāo)準(zhǔn)系統(tǒng)是否支持 ArkUI 框架,所以僅僅寫了一個(gè)超簡單的 demo,因?yàn)檫@ demo 還不屬于本文章的重點(diǎn),就是小示例。

①首先創(chuàng)建一個(gè)聲明式 UI 工程

如下圖在 deveco studio 中創(chuàng)建工程的時(shí)候注意一下,別的沒什么區(qū)別。

②將圖片放入對(duì)應(yīng)目錄

右鍵 resources 文件夾,點(diǎn)擊 New>Resource Directory,選擇 Resource Type 為 Media(圖片資源),選擇資源限定詞為 Device-Phone,詳細(xì)參考官方大大。

這里需要注意的是如果采用把圖片放在 rawfile 下的時(shí)候,這個(gè)時(shí)候在遠(yuǎn)程模擬器的 P40 Pro 是可以完美顯示的,但是在 3516 中圖片顯示不出來,具體原因還有待深究!有興趣的大佬可以去深究一撥兒,我以后也會(huì)去看這個(gè)問題。

③添加代碼引用資源

直接將 entry/src/main/default/pages/index.ets 中的文件替換為如下內(nèi)容:

@Entry
@Component
structMyComponent{
build(){
Stack(){
Image($r('app.media.cat'))
.objectFit(ImageFit.Contain)
.height(357)
Text('Cat')
.fontSize(26)
.fontWeight(500)
}
}
}

④修改應(yīng)用名字

這個(gè)配置文件是 string.json,所存在目錄為:

entry/src/main/resources/base/element/string.json

試著將應(yīng)用放入 Hi3516 上跑起來

因?yàn)槲覀冞@個(gè)是屬于把應(yīng)用放入實(shí)體設(shè)備,所以簽名這一步是必不可少的,簽名完成后,在打出 hap 包后,再把 hap 包想辦法扔進(jìn)設(shè)備,并且可以運(yùn)行。

openharmony 簽名打包

下面這幾步驟就是 openharmony 簽名過程,缺一不可。

生成密鑰和證書請(qǐng)求文件,這里先了解哈這兩個(gè)概念:

  • 密鑰:包含非對(duì)稱加密中使用的公鑰和私鑰,存儲(chǔ)在密鑰庫文件中,格式為 .p12,公鑰和私鑰對(duì)用于數(shù)字簽名和驗(yàn)證。

  • 證書請(qǐng)求文件:格式為 .csr,全稱為 Certificate Signing Request,包含密鑰對(duì)中的公鑰和公共名稱、組織名稱、組織單位等信息,用于向 AppGallery Connect 申請(qǐng)數(shù)字證書。

然后操作方法就是打開你的 deveco studio,然后按照下圖進(jìn)行操作:

f02e0ac0-458d-11ec-b939-dac502259ad0.png

然后就會(huì)彈出下述界面:

f087f59e-458d-11ec-b939-dac502259ad0.png

如果是第一次使用的話,肯定是沒有生成過密鑰的,也就是 .p12 文件,所以這里需要 new 一個(gè),這里需要重點(diǎn)關(guān)注的是 new 的時(shí)候會(huì)讓你寫一個(gè)密碼,這個(gè)密碼寫了啥,一定要記住,后面會(huì)用,不然整個(gè)打包過程就會(huì)直接 fail。

接下來就按照提示填就可以了。這一步完成之后會(huì)生成一個(gè) .p12 文件和一個(gè) .csr 文件,這兩個(gè)文件很重要缺一不可。

生成應(yīng)用證書文件:生成應(yīng)用證書文件的格式為 .cer,由華為 AppGallery Connect 頒發(fā)。

先進(jìn)入 openharmonysdk 的目錄下,這里是 deveco studio 的安裝目錄,然后敲命令行,執(zhí)行如下命令:

f126f694-458d-11ec-b939-dac502259ad0.png

keytool 是 jdk 中的一個(gè)工具,在我把路徑加好之后仍然找不到,所以大家如果也遇到我的這個(gè)錯(cuò)誤可以直接加上全路徑。

這里只需要關(guān)注的兩個(gè)參數(shù),一個(gè)是 -input,另外一個(gè)是 -output。
  • -input:這里需要填寫的路徑是在上面步驟中生成的 .csr 文件。

  • -output:這里需要填寫的是這一次操作會(huì)生成的應(yīng)用證書文件:.cer,這在簽名中會(huì)用到。

生成應(yīng)用 Profile 文件:這一步和上面一樣需要先進(jìn)入到 deveco studio 安裝目錄中的 openharmony sdk 路徑下,然后敲命令行,如下圖所示:

f1b66d56-458d-11ec-b939-dac502259ad0.png

命令中的 provisionsigtool.jar 這個(gè)文件在 sdk 目錄中就存在。

這里需要注意的參數(shù)有 -out 和 distribution-certificate:

  • -out:這個(gè)參數(shù)指定本次生成的文件存放目錄,為 .p7b。

  • distrubution-certificate:這個(gè)參數(shù)用來指定上文中生成的 .cer 文件。

配置應(yīng)用簽名信息:在 deveco studio 中按照下述圖片點(diǎn)擊出第二副配置界面:

f218e396-458d-11ec-b939-dac502259ad0.png

按照上圖點(diǎn)擊 Project Structure,然后彈出:

f2926a04-458d-11ec-b939-dac502259ad0.png

上圖中的 .p12 文件為 2.1.1 中生成的,上圖中的密碼是 2.1.1 中設(shè)置的密碼,key alias 也是在 2.1.1 中設(shè)備的別名;上圖中的 .p7b 文件是在 2.1.3 中生成的,上圖中的 .cer 文件是在 2.1.2 中生成的。

打 release 的 hap 包:按照下圖所示,使用 dev eco 進(jìn)行生成 hap 包。

f33da6b2-458d-11ec-b939-dac502259ad0.png

②將上文中生成好的帶簽名的 hap 包燒錄進(jìn)去系統(tǒng)

PS:本身琢磨源碼的想法,所以我沒有采用工具進(jìn)行安裝,而是把 hap 包放入系統(tǒng)源碼中,然后修改一些配置文件,讓其成為系統(tǒng)的自帶應(yīng)用,然后編譯,最后在燒錄系統(tǒng)。

這里對(duì)燒錄系統(tǒng)有疑問,而你恰好也是 ubuntu 系統(tǒng)的話,可以參考我的上一篇文章:

https://harmonyos.51cto.com/posts/8994

將 hap 包放入指定位置:將 hap 包放入到 applications/standard/hap 目錄下。

f3bc8efa-458d-11ec-b939-dac502259ad0.png

上圖中可以看到我將 hap 包重新命名為了 Temp.hap。

修改編譯配置文件:這里的編譯配置文件一共需要修改兩個(gè),一個(gè)是 BUILD.gn,另一個(gè)是 ohos.build。

applications/standard/hap/BUILD.gn,按照下圖進(jìn)行添加:

f4492586-458d-11ec-b939-dac502259ad0.png

applications/standard/hap/ohos.build,按照下圖進(jìn)行添加:

f4c714a0-458d-11ec-b939-dac502259ad0.png

啟動(dòng)編譯:執(zhí)行下列命令進(jìn)行編譯。

./build.sh--product-nameHi3516DV300

編譯完成之后,進(jìn)行燒錄,就可以看到誘人的 ArkUI 應(yīng)用了。

責(zé)任編輯:haq
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2627

    瀏覽量

    65784
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1946

    瀏覽量

    29736

原文標(biāo)題:親測!ArkUI在3516標(biāo)準(zhǔn)系統(tǒng)可以完美跑起來!

文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙開發(fā)ArkUI-X基礎(chǔ)知識(shí):【ArkUI代碼工程及構(gòu)建介紹】

    ArkUI作為OpenHarmony的默認(rèn)開發(fā)框架,在本項(xiàng)目(ArkUI-X)中需要做到套代碼同時(shí)支持多平臺(tái)構(gòu)建,所以會(huì)采取共倉開發(fā)的方式,部分倉直接指向OpenHarmony相關(guān)開源倉。
    的頭像 發(fā)表于 05-25 16:45 ?1859次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)<b class='flag-5'>ArkUI</b>-X基礎(chǔ)知識(shí):【<b class='flag-5'>ArkUI</b>代碼工程及構(gòu)建介紹】

    鴻蒙ArkUI-X跨語言調(diào)用說明:【平臺(tái)橋接開發(fā)指南(Android)】

    平臺(tái)橋接用于客戶端(ArkUI)和平臺(tái)(Android或iOS)之間傳遞消息,即用于ArkUI與平臺(tái)雙向數(shù)據(jù)傳遞、ArkUI側(cè)調(diào)用平臺(tái)的方法、平臺(tái)調(diào)用ArkUI側(cè)的方法。本文主要介紹A
    的頭像 發(fā)表于 05-25 16:26 ?443次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨語言調(diào)用說明:【平臺(tái)橋接開發(fā)指南(Android)】

    鴻蒙ArkUI-X跨平臺(tái)開發(fā):【 編寫第一個(gè)ArkUI-X應(yīng)用】

    通過構(gòu)建個(gè)簡單的ArkUI頁面跳轉(zhuǎn)示例,快速了解資源創(chuàng)建引用,路由代碼編寫和UI布局編寫等應(yīng)用開發(fā)流程。
    的頭像 發(fā)表于 05-21 17:36 ?469次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨平臺(tái)開發(fā):【 編寫第<b class='flag-5'>一個(gè)</b><b class='flag-5'>ArkUI</b>-X應(yīng)用】

    鴻蒙ArkUI-X跨語言調(diào)用說明:【平臺(tái)橋接(@arkui-x.bridge)】

    平臺(tái)橋接用于客戶端(ArkUI)和平臺(tái)(Android或iOS)之間傳遞消息,即用于ArkUI與平臺(tái)雙向數(shù)據(jù)傳遞、ArkUI側(cè)調(diào)用平臺(tái)的方法、平臺(tái)調(diào)用ArkUI側(cè)的方法。
    的頭像 發(fā)表于 05-21 15:09 ?426次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>-X跨語言調(diào)用說明:【平臺(tái)橋接(@<b class='flag-5'>arkui</b>-x.bridge)】

    鴻蒙跨平臺(tái)框架:【ArkUi-X】創(chuàng)建工程

    鴻蒙推出了鴻ArkUi-X 框架所以就寫個(gè)文章分享
    的頭像 發(fā)表于 05-13 17:48 ?626次閱讀
    <b class='flag-5'>鴻蒙</b>跨平臺(tái)框架:【<b class='flag-5'>ArkUi</b>-X】創(chuàng)建工程

    鴻蒙ArkUI:【從代碼到UI顯示的整體渲染流程】

    方舟開發(fā)框架(簡稱ArkUI)是鴻蒙開發(fā)的UI框架,提供如下兩種開發(fā)范式,我們 **只學(xué)聲明式開發(fā)范式**
    的頭像 發(fā)表于 05-13 16:06 ?594次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>:【從代碼到UI顯示的整體渲染流程】

    鴻蒙開發(fā)學(xué)習(xí):初探【ArkUI-X】

    **簡單來說,ArkTS + ArkUI-X 對(duì)標(biāo)的框架為 flutter,次代碼,編譯為 native 全平臺(tái)運(yùn)行**
    的頭像 發(fā)表于 05-13 15:58 ?809次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)學(xué)習(xí):初探【<b class='flag-5'>ArkUI</b>-X】

    鴻蒙ArkUI開發(fā)實(shí)戰(zhàn):制作個(gè)【簡單計(jì)數(shù)器】

    `@Entry`?修飾符表示個(gè)頁面的入口,它需要在?`main_pages.json`?配置才可以在設(shè)備正常顯示,?`@Component`?修飾符表示?`Index`?是
    的頭像 發(fā)表于 04-08 18:05 ?445次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發(fā)實(shí)戰(zhàn):制作<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>【簡單計(jì)數(shù)器】

    鴻蒙ArkUI實(shí)例:【自定義組件】

    組件是 OpenHarmony 頁面最小顯示單元,個(gè)頁面可由多個(gè)組件組合而成,也可只由個(gè)組件組合而成,這些組件可以是ArkUI開發(fā)框架自
    的頭像 發(fā)表于 04-08 10:17 ?486次閱讀

    鴻蒙ArkUI開發(fā)實(shí)戰(zhàn):eTS版【笑話app】

    制作款笑話app,使用ArkUI。
    的頭像 發(fā)表于 03-25 16:04 ?344次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發(fā)實(shí)戰(zhàn):eTS版【笑話app】

    純血鴻蒙系統(tǒng),拿什么與安卓、iOS比?

    ArkUI …… 2、鴻蒙進(jìn)階 Stage模型 網(wǎng)絡(luò)、數(shù)據(jù)管理 次開發(fā)多段部署 …… 3、鴻蒙多媒體技術(shù) 音頻 視頻 相機(jī) 圖片 …… 4、鴻蒙
    發(fā)表于 02-21 21:04

    何在鴻蒙系統(tǒng)安裝Google Play

    隨著鴻蒙(HarmonyOS)系統(tǒng)的逐漸普及和用戶基數(shù)的增加,些用戶希望能在鴻蒙系統(tǒng)使用Go
    的頭像 發(fā)表于 01-31 17:13 ?1.3w次閱讀

    鴻蒙ArkUI開發(fā)-應(yīng)用添加彈窗

    彈窗是種模態(tài)窗口,通常用來展示用戶當(dāng)前需要的或用戶必須關(guān)注的信息或操作。在彈出框消失之前,用戶無法操作其他界面內(nèi)容。ArkUI為我們提供了豐富的彈窗功能
    的頭像 發(fā)表于 01-24 17:22 ?528次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發(fā)-應(yīng)用添加彈窗

    鴻蒙ArkUI開發(fā)-Video組件的使用

    以視頻功能為例,在應(yīng)用開發(fā)過程中,我們需要通過ArkUI提供的Video組件為應(yīng)用增加基礎(chǔ)的視頻播放功能。借助Video組件,我們可以實(shí)現(xiàn)視頻的播放功能并控制其播放狀態(tài)。常見的視頻播放場景包括觀看網(wǎng)絡(luò)的較為流行的短視頻,也包括查看我們存儲(chǔ)在本地的視頻內(nèi)容。
    的頭像 發(fā)表于 01-23 16:59 ?1042次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發(fā)-Video組件的使用

    鴻蒙ArkUI開發(fā)-Tabs組件的使用

    鴻蒙ArkUI開發(fā)-Tabs組件的使用
    的頭像 發(fā)表于 01-19 16:01 ?1413次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkUI</b>開發(fā)-Tabs組件的使用