氐宿-基于OpenHarmony成長(zhǎng)計(jì)劃知識(shí)賦能的學(xué)習(xí)筆記
原創(chuàng)??想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):??
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??
??https://harmonyos.51cto.com??
Part 1:鴻蒙相關(guān)的介紹
HUAWEI DevEco Studio(以下簡(jiǎn)稱DevEco Studio)是基于IntelliJ IDEA Community開(kāi)源版本打造,面向華為終端全場(chǎng)景多設(shè)備的一站式集成開(kāi)發(fā)環(huán)境(IDE)。
IDE:DevEco Studio (支持HarmonyOS和OpenHarmony都可以)
- 界面跟android studio很類型,因?yàn)槎际腔趇dea開(kāi)源版本改的
智慧生態(tài)為什么目前為止沒(méi)有得到體驗(yàn)?zāi)兀驗(yàn)楹茈y如:
技術(shù):
- 跨設(shè)備的動(dòng)態(tài)遷移
- 跨設(shè)備的接口調(diào)用
核心:安卓廠商可以自行開(kāi)發(fā)相應(yīng)的接口和功能,但無(wú)法讓其他廠商也進(jìn)行適配和使用
鴻蒙的系統(tǒng)可以運(yùn)行在很小的設(shè)備上,滿足分布式能力,讓無(wú)屏變有屏
鴻蒙三大能力解釋:
分布式軟總線解決了設(shè)備從:發(fā)現(xiàn)-連接-健全-認(rèn)證-物理通道選擇-邏輯通道保障。把設(shè)備之間通訊的障礙都打通了,并以自動(dòng)的方式實(shí)現(xiàn)通訊質(zhì)量。
分布式任務(wù)調(diào)度保障分布式安全
分布式數(shù)據(jù)管理解決了不同設(shè)備之間信息實(shí)時(shí)同步的問(wèn)題,性能高。(三大技術(shù))
- 分布式文件系統(tǒng)
- 分布式數(shù)據(jù)庫(kù)
- 分布式檢索
新理念:用軟件定義硬件
安裝IDE后會(huì)自動(dòng)下載SDK,如果有需要就對(duì)應(yīng)下載所需要的SDK即可
為什么我們要按照J(rèn)ava SDK 其中的一個(gè)原因是我們?cè)谶M(jìn)行簽名的時(shí)候,用到了Java SDK中的一個(gè)工具。
SDK Manager
Part 2:DevEco Studio 3.0.0.800安裝eTS 3.0.0.0踩坑(鏡像導(dǎo)致)
這部分為自己補(bǔ)充的,非老師和PPT講的
關(guān)于IDE自己遇見(jiàn)的一個(gè)坑
1.安裝SDK(API Version 7 -eTS 3.0.0.0 )
安裝失?。?/p>
復(fù)制鏈接點(diǎn)擊進(jìn)入:給的是JS SDK安裝失敗處理指導(dǎo),清理緩存cache
npm cache clean -f
發(fā)現(xiàn)還是不行:然后閱讀日志:
看不出啥具體問(wèn)題:然后我們看完整日志:
使用淘寶鏡像就變成了愚蠢的pacote標(biāo)簽清單:
我懷疑是淘寶鏡像的問(wèn)題:
1.刪除淘寶鏡像,安裝華為的鏡像
發(fā)現(xiàn)還是出問(wèn)題。
2.刪除淘寶鏡像,刪除華為鏡像
【添加華為鏡像】
npm config set registry http://mirrors.tools.huawei.com/npm/
【添加淘寶鏡像】
npm config set registry https://registry.npm.taobao.org/
【移除鏡像】
npm config rm registry +對(duì)應(yīng)已添加的鏡像
總結(jié):以后遇見(jiàn)這種問(wèn)題:
- 第一動(dòng)作就是CMD清理cache
- 第二動(dòng)作就是更換鏡像,淘寶,華為挨著試一試
- 第三動(dòng)作就是把鏡像都刪掉,換成自帶的
2.漢語(yǔ)插件
因?yàn)椴畔螺d的IDE是全英文的,對(duì)于特別新手的開(kāi)發(fā)者有一些困難,但我們可以通過(guò)插件實(shí)現(xiàn)漢化。
最終效果:
插件安裝步驟:
(1)打開(kāi)插件市場(chǎng):File-settings(設(shè)置)->Plugins(插件)
(轉(zhuǎn)圈圈很久是正常的,多等等就行,實(shí)在不行就算重新進(jìn)入settings再試試)
(2)安裝中文語(yǔ)言包然后重啟IDE即可
Part 3;相關(guān)干貨與細(xì)化講解
OpenHarmony&HarmonyOS支持情況對(duì)比
開(kāi)發(fā)語(yǔ)言:直播中推薦JS語(yǔ)言(高效率,高性能,語(yǔ)言生態(tài)成熟),從命令式UI框架->聲明式UI框架(TS/JS)效率提高百分之三十。并且提出了ArkUI框架:面向跨端應(yīng)用前端開(kāi)發(fā)。
關(guān)于開(kāi)發(fā)語(yǔ)言這里推薦李傳釗老師的理解:
鴻蒙應(yīng)該選擇什么語(yǔ)言作為開(kāi)發(fā)語(yǔ)言?
文章的創(chuàng)意觀點(diǎn):
鴻蒙團(tuán)隊(duì)需要明確引導(dǎo)開(kāi)發(fā)者的技術(shù)路線。
摘取文章中的部分論述:
JS:優(yōu)勢(shì)是學(xué)習(xí)成本低,發(fā)展勢(shì)頭猛;缺點(diǎn)是性能有天花板,不擅長(zhǎng)處理數(shù)據(jù),語(yǔ)法也比較隨意。
Java:優(yōu)勢(shì)是目前受眾最廣的語(yǔ)言,而且已經(jīng)在安卓取得成功;缺點(diǎn)在于本身并不擅長(zhǎng)做界面,虛擬機(jī),JNI也一直被詬病,同時(shí)可能存在致命的法律風(fēng)險(xiǎn)。
新語(yǔ)言(可能叫倉(cāng)頡Char):優(yōu)勢(shì)是可以重新設(shè)計(jì),取長(zhǎng)補(bǔ)短,同時(shí)有利于建立獨(dú)立的生態(tài);劣勢(shì)在于需要付出很大的精力去推廣,發(fā)展成熟也需要一定的時(shí)間,與鴻蒙的節(jié)奏未必對(duì)得上。
創(chuàng)建OpenHarmony工程
1.新建項(xiàng)目,設(shè)置包名選擇語(yǔ)言
2.應(yīng)用簽名有四個(gè)文件,生成秘鑰和證書(shū)請(qǐng)求文件,填寫(xiě)相應(yīng)的信息,最后會(huì)生成對(duì)應(yīng)的文件
密鑰:格式為.p12,包含非對(duì)稱加密中使用的公鑰和私鑰,存儲(chǔ)在密鑰庫(kù)文件中,公鑰和私鑰對(duì)用于數(shù)字簽名和驗(yàn)證。
證書(shū)請(qǐng)求文件:格式為.csr,包含密鑰對(duì)中的公鑰和公共名稱、組織名稱、組織單位等信息。
數(shù)字證書(shū):格式為.cer,通過(guò)OpenHarmony SDK自主生成。
Profile文件:格式為.p7b,通過(guò)OpenHarmony SDK自主生成。包含HarmonyOS應(yīng)用的包名、數(shù)字證書(shū)信息、描述應(yīng)用允許申請(qǐng)的證書(shū)權(quán)限列表,每個(gè)應(yīng)用包中均必須包含一個(gè)Profile文件。
2.1通過(guò)IDE里圖形頁(yè)面生成(最好用這個(gè))
2.2通過(guò)命令行的方式生成(這個(gè)方式最好看PPT)
【1】
keytool -genkeypair -alias "harmony" -keyalg EC -sigalg SHA256withECDSA -dname "C=CN,O=SHENKAIHONG,OU=SHENKAIHONG IDE,CN=harmony" -keystore d:\\p12.p12 -storetype pkcs12 -validity 9125 -storepass qaz123456 -keypass qaz123456
【2】
keytool -certreq -alias "harmony" -keystore d:\\p12.p12 -storetype pkcs12 -file d:\\csr.csr
【3使用自主生成的證書(shū)請(qǐng)求文件,來(lái)生成應(yīng)用簽名所需的數(shù)字證書(shū)文件】
【注意:-infile 指定證書(shū)請(qǐng)求文件csr文件路徑-outfile 指定輸出證書(shū)文件名及路徑
】
keytool -gencert -alias "OpenHarmony Application CA" -infile csr.csr -outfile cer.cer -keystore OpenHarmony.p12 -sigalg SHA384withECDSA -storepass 123456 -ext KeyUsage:"critical=digitalSignature" -validity 3650 -rfc
【4生成Profile文件】
java -jar provisionsigtool.jar sign --in UnsgnedReleasedProfileTemplate.json --out p7b.p7b --keystore OpenHarmony.p12 --storepass 123456 --alias "OpenHarmony Application Profile Release" --sigAlg SHA256withECDSA --cert OpenHarmonyProfileRelease.pem --validity 365 --developer-id ohosdeveloper --bundle-name 包名 --permission 受限權(quán)限名(可選) --distribution-certificate cer.cer
接下來(lái)還會(huì)有:編譯構(gòu)建Hap包&安裝
開(kāi)發(fā)流程對(duì)比:
實(shí)操:
1.建立項(xiàng)目
2.進(jìn)入到OpenHarmony對(duì)于的SDK目錄下:
我的:C:\Users\iamda\AppData\Local\OpenHarmony\Sdk
在哪里看:
toolchains\lib運(yùn)行命令行(直接在搜索框內(nèi)輸入cmd即可)
3.2:
把這兩個(gè)文件復(fù)制到lib目錄下:
3.3生成cer
3.4生成profile(–permission 受限權(quán)限名(可選)先去掉、包名在config.json里找)
3.5在項(xiàng)目中創(chuàng)建Key文件夾,把才生成的四個(gè)文件挪到Key目錄下
點(diǎn)擊確定(密碼就是之前命令行中的密碼)
最后一步選擇release
3.編譯構(gòu)建Hap包&安裝
構(gòu)建成功:
Part 4:查看文檔
OpenHarmony開(kāi)源項(xiàng)目-Gitee
進(jìn)入文檔-選擇中文:
強(qiáng)調(diào):開(kāi)發(fā)參考
??想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):??
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??
??https://harmonyos.51cto.com??