大家可以看到很明顯這是一個(gè) ArkUI 的應(yīng)用,在遠(yuǎn)程模擬器上目前還只可以跑在 P40 Pro 上。
其實(shí)為了這個(gè)目的,只需要做到兩個(gè)步驟,第一步整出一個(gè) ArkUI 的應(yīng)用來(lái),第二步將該應(yīng)用放上 Hi3516 跑起來(lái),OK,這就是總體思路,然后順著這個(gè)步驟,一步一步來(lái)做。整一個(gè) ArkUI的應(yīng)用
因?yàn)槲疫@里的主要目的是為了測(cè)試 3516 標(biāo)準(zhǔn)系統(tǒng)是否支持 ArkUI 框架,所以?xún)H僅寫(xiě)了一個(gè)超簡(jiǎn)單的 demo,因?yàn)檫@ demo 還不屬于本文章的重點(diǎn),就是小示例。
①首先創(chuàng)建一個(gè)聲明式 UI 工程
如下圖在 deveco studio 中創(chuàng)建工程的時(shí)候注意一下,別的沒(méi)什么區(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 中圖片顯示不出來(lái),具體原因還有待深究!有興趣的大佬可以去深究一撥兒,我以后也會(huì)去看這個(gè)問(wèn)題。
③添加代碼引用資源
直接將 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 上跑起來(lái)
因?yàn)槲覀冞@個(gè)是屬于把應(yīng)用放入實(shí)體設(shè)備,所以簽名這一步是必不可少的,簽名完成后,在打出 hap 包后,再把 hap 包想辦法扔進(jìn)設(shè)備,并且可以運(yùn)行。
①openharmony 簽名打包
下面這幾步驟就是 openharmony 簽名過(guò)程,缺一不可。
生成密鑰和證書(shū)請(qǐng)求文件,這里先了解哈這兩個(gè)概念:
-
密鑰:包含非對(duì)稱(chēng)加密中使用的公鑰和私鑰,存儲(chǔ)在密鑰庫(kù)文件中,格式為 .p12,公鑰和私鑰對(duì)用于數(shù)字簽名和驗(yàn)證。
-
證書(shū)請(qǐng)求文件:格式為 .csr,全稱(chēng)為 Certificate Signing Request,包含密鑰對(duì)中的公鑰和公共名稱(chēng)、組織名稱(chēng)、組織單位等信息,用于向 AppGallery Connect 申請(qǐng)數(shù)字證書(shū)。
然后操作方法就是打開(kāi)你的 deveco studio,然后按照下圖進(jìn)行操作:
然后就會(huì)彈出下述界面:
如果是第一次使用的話(huà),肯定是沒(méi)有生成過(guò)密鑰的,也就是 .p12 文件,所以這里需要 new 一個(gè),這里需要重點(diǎn)關(guān)注的是 new 的時(shí)候會(huì)讓你寫(xiě)一個(gè)密碼,這個(gè)密碼寫(xiě)了啥,一定要記住,后面會(huì)用,不然整個(gè)打包過(guò)程就會(huì)直接 fail。
接下來(lái)就按照提示填就可以了。這一步完成之后會(huì)生成一個(gè) .p12 文件和一個(gè) .csr 文件,這兩個(gè)文件很重要缺一不可。
生成應(yīng)用證書(shū)文件:生成應(yīng)用證書(shū)文件的格式為 .cer,由華為 AppGallery Connect 頒發(fā)。
先進(jìn)入 openharmonysdk 的目錄下,這里是 deveco studio 的安裝目錄,然后敲命令行,執(zhí)行如下命令:
keytool 是 jdk 中的一個(gè)工具,在我把路徑加好之后仍然找不到,所以大家如果也遇到我的這個(gè)錯(cuò)誤可以直接加上全路徑。
這里只需要關(guān)注的兩個(gè)參數(shù),一個(gè)是 -input,另外一個(gè)是 -output。
-
-input:這里需要填寫(xiě)的路徑是在上面步驟中生成的 .csr 文件。
-
-output:這里需要填寫(xiě)的是這一次操作會(huì)生成的應(yīng)用證書(shū)文件:.cer,這在簽名中會(huì)用到。
生成應(yīng)用 Profile 文件:這一步和上面一樣需要先進(jìn)入到 deveco studio 安裝目錄中的 openharmony sdk 路徑下,然后敲命令行,如下圖所示:
命令中的 provisionsigtool.jar 這個(gè)文件在 sdk 目錄中就存在。
這里需要注意的參數(shù)有 -out 和 distribution-certificate:
-
-out:這個(gè)參數(shù)指定本次生成的文件存放目錄,為 .p7b。
-
distrubution-certificate:這個(gè)參數(shù)用來(lái)指定上文中生成的 .cer 文件。
配置應(yīng)用簽名信息:在 deveco studio 中按照下述圖片點(diǎn)擊出第二副配置界面:
按照上圖點(diǎn)擊 Project Structure,然后彈出:
上圖中的 .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 包。
②將上文中生成好的帶簽名的 hap 包燒錄進(jìn)去系統(tǒng)
PS:本身琢磨源碼的想法,所以我沒(méi)有采用工具進(jìn)行安裝,而是把 hap 包放入系統(tǒng)源碼中,然后修改一些配置文件,讓其成為系統(tǒng)的自帶應(yīng)用,然后編譯,最后在燒錄系統(tǒng)。
這里對(duì)燒錄系統(tǒng)有疑問(wèn),而你恰好也是 ubuntu 系統(tǒng)的話(huà),可以參考我的上一篇文章:
https://harmonyos.51cto.com/posts/8994
將 hap 包放入指定位置:將 hap 包放入到 applications/standard/hap 目錄下。
上圖中可以看到我將 hap 包重新命名為了 Temp.hap。
修改編譯配置文件:這里的編譯配置文件一共需要修改兩個(gè),一個(gè)是 BUILD.gn,另一個(gè)是 ohos.build。
applications/standard/hap/BUILD.gn,按照下圖進(jìn)行添加:
applications/standard/hap/ohos.build,按照下圖進(jìn)行添加:
啟動(dòng)編譯:執(zhí)行下列命令進(jìn)行編譯。
./build.sh--product-nameHi3516DV300
編譯完成之后,進(jìn)行燒錄,就可以看到誘人的 ArkUI 應(yīng)用了。
-
鴻蒙系統(tǒng)
+關(guān)注
關(guān)注
183文章
2633瀏覽量
66062 -
HarmonyOS
+關(guān)注
關(guān)注
79文章
1958瀏覽量
29915
原文標(biāo)題:親測(cè)!ArkUI在3516標(biāo)準(zhǔn)系統(tǒng)可以完美跑起來(lái)!
文章出處:【微信號(hào):gh_834c4b3d87fe,微信公眾號(hào):OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論