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