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