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

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

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

HarmonyOS與OpenHarmony開發(fā)角度上的區(qū)別

OpenHarmony技術(shù)社區(qū) ? 來源:鴻蒙技術(shù)社區(qū) ? 作者:軟通夏德旺 ? 2021-09-28 09:31 ? 次閱讀

開篇第一句,所有學(xué)習(xí)與開發(fā)資料以官方資料為準(zhǔn)。任何博客類只能作為參考,自行判斷優(yōu)良,不要被誤導(dǎo),包括本人的所有博客。

HarmonyOS 官方文檔地址

應(yīng)用開發(fā):

https://developer.harmonyos.com/cn/documentation

設(shè)備開發(fā):

https://device.harmonyos.com/

OpenHarmony 官方文檔地址

如下:

https://gitee.com/openharmony/docs/

HarmonyOS 與 OpenHarmony 的區(qū)別

關(guān)于 HarmonyOS 與 OpenHarmony 的區(qū)別我這里不再過多闡述,請看開放原子基金會的官方介紹。

我這里著重從開發(fā)角度上講解它們的區(qū)別:

①開發(fā)語言支持

HarmonyOS 主要支持 Java 和 JS 來開發(fā)應(yīng)用(當(dāng)然還有 C 和 C++),而 OpenHarmony 不支持 Java 來開發(fā)應(yīng)用。

目前階段 HarmonyOS 里面還是有部分功能是基于 AOSP 的,因此還是要用 Java,而 OpenHarmony 不再使用 Java,應(yīng)該是想徹底放棄 AOSP 了。

SDK 的不同

應(yīng)用開發(fā)工具都是統(tǒng)一使用華為的 DevEco Studio,但是使用的 sdk 不同,開發(fā)前首先要切換 sdk 配置。

雖然 HarmonyOS 和 OpenHarmony 都可以用 js 來開發(fā)應(yīng)用,但是它們的 api 還是有些細(xì)微的區(qū)別。

OpenHarmony 的 api 參考請參看 OpenHarmony 的官方文檔,千萬別看錯了。

然后 OpenHarmony 的 sdk 請下載官方的支持 OpenHarmony 開發(fā)的 sdk,而不是 DevEco studio 自帶的 HarmonyOS sdk。

關(guān)于 OpenHarmony sdk 配置請參考官方文檔,我這里僅僅附上官方鏈接:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/配置OpenHarmony-SDK.md

③創(chuàng)建項目方式不同

在 DevEco 2.2 Beat1 版本之后,可以直接支持創(chuàng)建 OpenHarmony 應(yīng)用項目了。

創(chuàng)建方式如下圖:

這里重點對 standard 解釋下,即 OpenHarmony 官方說的“標(biāo)準(zhǔn)系統(tǒng)”,本文中所說的所有 OpenHarmony 應(yīng)用開發(fā)都是針對的標(biāo)準(zhǔn)系統(tǒng)。

輕量和小型系統(tǒng)(參考內(nèi)存《128MB),標(biāo)準(zhǔn)系統(tǒng)(參考內(nèi)存≥128MB),詳細(xì)說明請看官方文檔:

https://gitee.com/openharmony/docs/blob/master/zh-cn/readme.md

⑤運行調(diào)測方式不同

HarmonyOS 支持 previewer 預(yù)覽、模擬器運行、真機運行三種方式;OpenHarmony 支持 previewer 預(yù)覽、真機(目前主要使用 3516 系列開發(fā)板)運行。

首先,目前 OpenHarmony 是沒有模擬器的,真正運行調(diào)測只能借助開發(fā)板(主要采用 HI3516 系列開發(fā)板),注意目前是不支持手機平板等真機調(diào)測的。

⑥簽名方式不同

OpenHarmony 的簽名方式我這里就不贅述,直接附上官方文檔鏈接:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/配置OpenHarmony應(yīng)用簽名信息.md

HarmonyOS 的簽名我最想吐槽的就是需要添加設(shè)備 ID。OpenHarmony 的簽名我只想吐槽一句,既然 open 為何還必須要簽名。

埋坑

上面的區(qū)別對比已經(jīng)埋了部分坑了,下面再針對純粹上層應(yīng)用開發(fā)人員初次接觸 OpenHarmony 開發(fā)的坑。

①OpenHarmony 操作系統(tǒng)編譯

為何要編譯操作系統(tǒng),如果你手上有現(xiàn)成的安裝好操作系統(tǒng)的開發(fā)板你,操作系統(tǒng)和 sdk 版本也對應(yīng)。

比如我們是基于 OpenHarmony-SDK-2.0-Canary 版本,那你應(yīng)該燒錄一個對應(yīng)的操作系統(tǒng)版本。比如我手上是很久之前的一個 1.0 版本的 3516 開發(fā)板,顯然要升級。

操作系統(tǒng)編譯的完整資料依然請參考官網(wǎng):

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard.md

關(guān)于這里我強調(diào)幾點:

(1)使用 repo 進(jìn)行代碼倉同步時,官方描述的操作命令如下:

repo sync -c

建議替換成:

repo sync -c -j8

這個后面的數(shù)字 8 根據(jù)自己的 cpu 核數(shù)進(jìn)行設(shè)置,查看 cpu 核數(shù)的命令如下:

grep -c ‘processor’ /proc/cpuinfo

35833592-1fc2-11ec-82a8-dac502259ad0.png

這樣配置之后,會大大加快你的同步速度,否則這個同步時間會非常漫長。

同步過程請使用無限制的公網(wǎng)網(wǎng)絡(luò),比如某些公司訪問外網(wǎng)會有限制。然后就是網(wǎng)絡(luò)下載速度也會會直接關(guān)系到你的同步速度。

repo 中途同步失敗了(比如斷網(wǎng)或者異常關(guān)機),也不要過于緊張,可以根據(jù) log 提示刪除某些同步異常的部分倉庫,然后繼續(xù)執(zhí)行上面的同步命令即可。

(2)編譯環(huán)境安裝時,Linux 編譯服務(wù)器終端輸入不識別的命令時,提示“ImportError: No module named apt_pkg”。

解決辦法:執(zhí)行如下命令重新安裝 python3-apt。

sudo apt-get remove python3-apt

sudo apt-get install python3-apt

(3)編譯構(gòu)建時,我這里遇到一個大坑,就是電腦突然斷電了,然后再執(zhí)行編譯的時候報大量錯誤,錯誤內(nèi)容如下:

rm: cannot remove ‘XXXXX‘: Bad message

這種問題本來可以采用 fsck 的方式來修復(fù)文件系統(tǒng),但是由于編譯過程中產(chǎn)生了大量的很小的臨時文件,所以修復(fù)起來太慢太不現(xiàn)實,干脆刪除了虛擬機重新加載之前保存的虛擬機鏡像,重新再來一次。

②操作系統(tǒng)燒錄

官方描述的是使用網(wǎng)口進(jìn)行燒錄,官網(wǎng)地址如下:

https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-standard-burn.md

需要注意的點:本文檔針對的開發(fā)版是官方推薦AI_Camera_Hi3516DV300 開發(fā)套件。

(1)確保 USB 轉(zhuǎn)串口驅(qū)動能安裝上,即在 PC 的設(shè)備管理器上能識別到 COM 口。

首先安裝 USB-to-Serial Comm Port.exe 驅(qū)動,如果沒有識別請再安裝 CH341SER 驅(qū)動。

(2)網(wǎng)口燒錄注意事項:不支持無線,需要使用網(wǎng)線直連 PC,網(wǎng)卡是千兆網(wǎng)卡,最好選擇六類網(wǎng)線,這樣速度更快。

PC 端需要設(shè)置 ip 地址為 192.168.1.2/24,網(wǎng)關(guān)為 192.168.1.1,如下圖:

燒錄工具上網(wǎng)口的設(shè)置:

upload_net_server_ip:對應(yīng) PC 上網(wǎng)口設(shè)置的地址。

upload_net_client_mask:設(shè)置開發(fā)板的子網(wǎng)掩碼,對應(yīng) PC 上設(shè)置的子網(wǎng)掩碼,確保開發(fā)板和 PC 在一個網(wǎng)段。

upload_net_client_gw:和 PC 上設(shè)置的網(wǎng)關(guān)保持一致。

upload_net_client_ip:設(shè)置開發(fā)板的 IP 地址,例如 192.168.1.3,確保和 PC 在一個網(wǎng)段即可。

我沒有使用官方推薦的 DevEco Device Tool 進(jìn)行燒錄,而是使用了我喜歡的 HiBurn 進(jìn)行燒錄,但是基本配置相同,截圖如下:

點完燒寫按鈕之后,需要先下電再上電,上電之后就會自動進(jìn)行燒寫了。網(wǎng)口燒錄時間比較慢,標(biāo)準(zhǔn)系統(tǒng) 2.2beta 版本燒錄估計要 20 分鐘。

(3)USB 燒錄(強烈推薦,最快的方式,一分鐘即可燒寫完畢),這種方式是我在配置過程中最卡我的一種方式。主要就是 USB 的驅(qū)動一直無法識別。

首先我們來看看正確識別驅(qū)動之后,設(shè)備管理器中的頁面,必須看到通用串行設(shè)備下識別了設(shè)備才行,如下圖:

(1)開發(fā)套件上面有兩個 typec 接口,屁股后面的那個才是 USB 口,前面的僅僅是供電口。

(2)安裝 HiUSBBurnDriver 驅(qū)動程序。

(3)Win10 操作系統(tǒng)需要修改注冊表。

a.創(chuàng)建一個“文本文檔.TXT”,文件后綴名修改為 .reg,如 usb.reg。

b.右鍵打開創(chuàng)建的 usb.reg,將如下腳本拷貝到該文件中,然后保存并關(guān)閉。

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlusbflags12D1D0010100]“SkipBOSDescriptorQuery”=hex:01,00,00,00“osvc”=hex:00,00“IgnoreHWSerNum”=hex:01

c.雙擊執(zhí)行 usb.reg 文件,自動修改注冊表文件信息。

(4)我 PC 依然遲遲無法識別 USB 驅(qū)動的時候,我在系統(tǒng)的 boot 里面(串口終端連接下,進(jìn)入 uboot 之前,狂按回車進(jìn)入 boot)輸入以下命令終于解決了無法識別驅(qū)動的問題。

usb device

(5)待識別了 USB 驅(qū)動之后燒錄需要注意的問題。

設(shè)置好燒錄鏡像之后,在下電在上電之前,請一直按住開發(fā)板上面的 update 按鈕(在開發(fā)板的串口旁邊),上電之后,待出現(xiàn)開始燒寫的打印之后再松開按鈕。

③OpenHarmony 安裝應(yīng)用到開發(fā)板

此處依然貼出對應(yīng)的官方文檔:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/quick-start/安裝運行OpenHarmony應(yīng)用.md

這里使用的是 hdc_std.exe,而不是 HarmonyOS sdk 中的 hdc.exe。

hdc_std.exe 在哪里?它在 OpenHarmony sdk 的 toolchains 目錄下面,確保它和開發(fā)板上的版本一致,即確保 sdk 版本和開發(fā)板的操作系統(tǒng)版本匹配即可。

④自己編譯 OpenHarmony SDK

為了確保 sdk 和自己燒寫的操作系統(tǒng)版本一致,我們可以自己編譯 sdk。

編譯命令如下:

。/build.sh --product-name ohos-sdk --ccache

結(jié)果輸出:

out/ohos-arm64-release/packages/ohos-sdk/

耗時了好久終于寫完了,希望本文加上配上 OpenHarmony 官方的文檔能夠幫助更多的開發(fā)者快速投入 OpenHarmony 共建中。

責(zé)任編輯:haq

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

    關(guān)注

    37

    文章

    6609

    瀏覽量

    123026
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2632

    瀏覽量

    66048
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1956

    瀏覽量

    29903
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3611

    瀏覽量

    15960

原文標(biāo)題:HarmonyOS與OpenHarmony,區(qū)別很大!

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

收藏 人收藏

    評論

    相關(guān)推薦

    基于ArkTS語言的OpenHarmony APP應(yīng)用開發(fā):HelloOpenharmony

    1、程序簡介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)編寫的UI應(yīng)用類:HelloOpenHarmony。本案例是基于API9接口開發(fā)。本案例已在OpenHarmony凌蒙派-RK35
    的頭像 發(fā)表于 09-15 08:09 ?212次閱讀
    基于ArkTS語言的<b class='flag-5'>OpenHarmony</b> APP應(yīng)用<b class='flag-5'>開發(fā)</b>:Hello<b class='flag-5'>Openharmony</b>

    【迅為RK3568開發(fā)板】OpenHarmony學(xué)習(xí)開發(fā)系列教程(第1期 北向基礎(chǔ)篇一)

    P5P4_OpenHarmony支持設(shè)備類型3:47 P6p5_南向開發(fā)和北向開發(fā)區(qū)別1:49 P7P6_OpenHarmony應(yīng)用
    發(fā)表于 08-16 15:27

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)

    P2_OpenHarmony功能框架 P3_OpenHarmony技術(shù)特性 P4_OpenHarmony支持設(shè)備類型 p5_南向開發(fā)和北向開發(fā)
    發(fā)表于 07-23 10:44

    SwanLinkOS首批實現(xiàn)與HarmonyOS NEXT互聯(lián)互通,軟通動力子公司鴻湖萬聯(lián)助力鴻蒙生態(tài)統(tǒng)一互聯(lián)

    在剛剛落下帷幕的華為開發(fā)者大會2024上,伴隨全場景智能操作系統(tǒng)HarmonyOSNext的盛大發(fā)布,作為基于OpenHarmony的同根同源系統(tǒng)生態(tài),軟通動力子公司鴻湖萬聯(lián)全域智能操作系統(tǒng)
    的頭像 發(fā)表于 07-02 09:57 ?373次閱讀
    SwanLinkOS首批實現(xiàn)與<b class='flag-5'>HarmonyOS</b> NEXT互聯(lián)互通,軟通動力子公司鴻湖萬聯(lián)助力鴻蒙生態(tài)統(tǒng)一互聯(lián)

    HarmonyOS開發(fā)案例:【購物車app】

    OpenHarmony ArkUI框架提供了豐富的動畫組件和接口,開發(fā)者可以根據(jù)實際場景和開發(fā)需求,選用豐富的動畫組件和接口來實現(xiàn)不同的動畫效果。
    的頭像 發(fā)表于 05-14 18:19 ?937次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)</b>案例:【購物車app】

    HarmonyOS開發(fā):【基于命令行(開發(fā)環(huán)境)】

    在嵌入式開發(fā)中,很多開發(fā)者習(xí)慣于使用Windows進(jìn)行代碼的編輯,比如使用Windows的Visual Studio Code進(jìn)行OpenHarmony代碼的開發(fā)。但當(dāng)前階段,大部分的
    的頭像 發(fā)表于 04-25 17:54 ?1196次閱讀
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>開發(fā)</b>:【基于命令行(<b class='flag-5'>開發(fā)</b>環(huán)境)】

    鴻蒙開發(fā)實例:【配置OpenHarmony SDK】

    在設(shè)置OpenHarmony應(yīng)用開發(fā)環(huán)境時,需要開發(fā)者在DevEco Studio中配置對應(yīng)的SDK信息。
    的頭像 發(fā)表于 04-22 15:24 ?1581次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>實例:【配置<b class='flag-5'>OpenHarmony</b> SDK】

    OpenHarmony南向開發(fā)案例:【智能油煙機】

    基于Hi3516開發(fā)板,使用開源OpenHarmony開發(fā)的應(yīng)用。
    的頭像 發(fā)表于 04-18 15:54 ?953次閱讀
    <b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開發(fā)</b>案例:【智能油煙機】

    OpenHarmony南向開發(fā)案例:【分布式畫板】

    使用OpenHarmony3.1-Release開發(fā)的應(yīng)用。通過OpenHarmony的分布式技術(shù),使多人能夠一起畫畫。
    的頭像 發(fā)表于 04-12 14:40 ?944次閱讀
    <b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開發(fā)</b>案例:【分布式畫板】

    【七】Purple Pi OH開發(fā)板帶你7天入門OpenHarmony!

    OpenHarmonyOS。一.PurplePiOH開發(fā)板的使用體驗1.1USB首先,讓我們談?wù)凱urplePiOH開發(fā)板。作為一款與樹莓派兼容的開發(fā)板,它具有高算力、低功耗、強大的多
    的頭像 發(fā)表于 03-22 08:31 ?317次閱讀
    【七】Purple Pi OH<b class='flag-5'>開發(fā)</b>板帶你7天入門<b class='flag-5'>OpenHarmony</b>!

    【工作準(zhǔn)備】OpenHarmony鴻蒙操作系統(tǒng)開發(fā)——基礎(chǔ)必備軟件

    、去問。 軟件列表如下: 一、OpenHarmony 內(nèi)核及子系統(tǒng)開發(fā)軟件列表 1. DevEco Studio 【作用】HarmonyOS 應(yīng)用集成開發(fā)環(huán)境,
    的頭像 發(fā)表于 02-23 15:51 ?1577次閱讀
    【工作準(zhǔn)備】<b class='flag-5'>OpenHarmony</b>鴻蒙操作系統(tǒng)<b class='flag-5'>開發(fā)</b>——基礎(chǔ)必備軟件

    鴻蒙next開發(fā)-OpenHarmony的NDK開發(fā)

    Native API是OpenHarmony SDK上提供的一組native開發(fā)接口與工具集合(也稱為NDK),方便開發(fā)者使用C或者C++語言實現(xiàn)應(yīng)用的關(guān)鍵功能。
    的頭像 發(fā)表于 01-20 11:35 ?1641次閱讀
    鴻蒙next<b class='flag-5'>開發(fā)</b>-<b class='flag-5'>OpenHarmony</b>的NDK<b class='flag-5'>開發(fā)</b>

    harmonyos和安卓的區(qū)別

    HarmonyOS是由華為開發(fā)的一款全場景分布式操作系統(tǒng),而安卓(Android)則是由谷歌開發(fā)的移動操作系統(tǒng)。雖然兩者都是操作系統(tǒng),但它們在很多方面存在明顯的區(qū)別。下面是關(guān)于
    的頭像 發(fā)表于 01-10 17:55 ?3134次閱讀

    openharmony開發(fā)應(yīng)用

    隨著智能設(shè)備的普及和多樣化,開發(fā)者們對于更加靈活、高效的操作系統(tǒng)需求與日俱增。在這個背景下,華為推出了OpenHarmony,一個全場景智能終端操作系統(tǒng)和生態(tài)平臺。本文將詳細(xì)探討
    的頭像 發(fā)表于 12-19 09:42 ?582次閱讀

    鴻蒙原生應(yīng)用開發(fā)-DevEco Studio中HarmonyOSOpenHarmony項目的切換

    一、找到該目錄 二、修改操作系統(tǒng)類型 三、分別進(jìn)行開發(fā),一些常規(guī)的應(yīng)用功能實現(xiàn)后,相互切換后都可以正常運行的。前期OpenHarmony項目如果連接開發(fā)板比較困難的化,開發(fā)完成后,切
    發(fā)表于 11-13 09:47