日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
從HarmonyOS過(guò)渡到OpenHarmony應(yīng)用開(kāi)發(fā)指南&埋坑

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.

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

HarmonyOS官方文檔地址

應(yīng)用開(kāi)發(fā):https://developer.harmonyos.com/cn/documentation

設(shè)備開(kāi)發(fā):https://device.harmonyos.com/

OpenHarmony官方文檔地址

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

HarmonyOS應(yīng)用開(kāi)發(fā)&OpenHarmony應(yīng)用開(kāi)發(fā)區(qū)別

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

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

1、開(kāi)發(fā)語(yǔ)言支持

HarmonyOS主要支持java和js來(lái)開(kāi)發(fā)應(yīng)用(當(dāng)然還有c和c++),而OpenHarmony不支持java來(lái)開(kāi)發(fā)應(yīng)用。

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

2、sdk的不同

應(yīng)用開(kāi)發(fā)工具都是統(tǒng)一使用華為的DevEco Studio,但是使用的sdk不同,開(kāi)發(fā)前首先要切換sdk配置。雖然HarmonyOS和OpenHarmony都可以用js來(lái)開(kāi)發(fā)應(yīng)用,但是它們的api還是有些細(xì)微的區(qū)別,OpenHarmony的api參考請(qǐng)參看OpenHarmony的官方文檔,千萬(wàn)別看錯(cuò)了。然后OpenHarmony的sdk請(qǐng)下載官方的支持OpenHarmony開(kāi)發(fā)的sdk,而不是DevEco studio自帶的HarmonyOS sdk。

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

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

3、創(chuàng)建項(xiàng)目方式不同

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

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

輕量和小型系統(tǒng)(參考內(nèi)存<128MB)

標(biāo)準(zhǔn)系統(tǒng)(參考內(nèi)存≥128MB)

詳細(xì)說(shuō)明請(qǐng)看官方文檔

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

4、工程目錄結(jié)構(gòu)不同

HarmonyOS JS項(xiàng)目結(jié)構(gòu):

OpenHarmony 項(xiàng)目結(jié)構(gòu):

5、運(yùn)行調(diào)測(cè)方式不同

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

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

6、簽名方式不同

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

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

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

埋坑

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

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

為何要編譯操作系統(tǒng),如果你手上有現(xiàn)成的安裝好操作系統(tǒng)的開(kāi)發(fā)板你,操作系統(tǒng)和sdk版本也對(duì)應(yīng),比如我們是基于OpenHarmony-SDK-2.0-Canary版本,那你應(yīng)該燒錄一個(gè)對(duì)應(yīng)的操作系統(tǒng)版本。比如我手上是很久之前的一個(gè)1.0版本的3516開(kāi)發(fā)板,顯然要升級(jí)。

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

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

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

(1)使用repo進(jìn)行代碼倉(cāng)同步時(shí)

官方描述的操作命令如下

 
 
 
 
  1. repo sync -c 

 建議替換成

 
 
 
 
  1. repo sync -c -j8 

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

 
 
 
 
  1. grep -c 'processor' /proc/cpuinfo 

這樣配置之后,會(huì)大大加快你的同步速度,否則這個(gè)同步時(shí)間會(huì)非常漫長(zhǎng)

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

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

(2)編譯環(huán)境安裝時(shí)

Linux編譯服務(wù)器終端輸入不識(shí)別的命令時(shí),提示"ImportError: No module named apt_pkg"

解決辦法:

執(zhí)行如下命令重新安裝python3-apt。

 
 
 
 
  1. sudo apt-get remove  python3-apt 
  2. sudo apt-get install python3-apt 

(3)編譯構(gòu)建時(shí)

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

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

2、操作系統(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

需要注意的點(diǎn):

本文檔針對(duì)的開(kāi)發(fā)版是官方推薦的AI_Camera_Hi3516DV300開(kāi)發(fā)套件。

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

首先安裝USB-to-Serial Comm Port.exe驅(qū)動(dòng),如果沒(méi)有識(shí)別請(qǐng)?jiān)侔惭bCH341SER驅(qū)動(dòng)。

(2)網(wǎng)口燒錄注意事項(xiàng)

不支持無(wú)線,需要使用網(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:對(duì)應(yīng)PC上網(wǎng)口設(shè)置的地址
  • upload_net_client_mask:設(shè)置開(kāi)發(fā)板的子網(wǎng)掩碼,對(duì)應(yīng)PC上設(shè)置的子網(wǎng)掩碼,確保開(kāi)發(fā)板和pc在一個(gè)網(wǎng)段。
  • upload_net_client_gw:和PC上設(shè)置的網(wǎng)關(guān)保持一致。
  • upload_net_client_ip:設(shè)置開(kāi)發(fā)板的IP地址,例如192.168.1.3,確保和PC在一個(gè)網(wǎng)段即可。

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

點(diǎn)完燒寫(xiě)按鈕之后,需要先下電再上電,上電之后就會(huì)自動(dòng)進(jìn)行燒寫(xiě)了。

網(wǎng)口燒錄時(shí)間比較慢,標(biāo)準(zhǔn)系統(tǒng)2.2beta版本燒錄估計(jì)要20分鐘。

(3)USB燒錄(強(qiáng)烈推薦,最快的方式,一分鐘即可燒寫(xiě)完畢)

這種方式是我在配置過(guò)程中最卡我的一種方式。主要就是USB的驅(qū)動(dòng)一直無(wú)法識(shí)別。首先我們來(lái)看看正確識(shí)別驅(qū)動(dòng)之后,設(shè)備管理器中的頁(yè)面,必須看到通用串行設(shè)備下識(shí)別了設(shè)備才行,如下圖

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

(2)安裝HiUSBBurnDriver驅(qū)動(dòng)程序

(3)win10操作系統(tǒng)需要修改注冊(cè)表

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

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

 
 
 
 
  1. Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\12D1D0010100]"SkipBOSDescriptorQuery"=hex:01,00,00,00"osvc"=hex:00,00"IgnoreHWSerNum"=hex:01 

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

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

 
 
 
 
  1. usb device 

(5)待識(shí)別了USB驅(qū)動(dòng)之后燒錄需要注意的問(wèn)題

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

3、OpenHarmony安裝應(yīng)用到開(kāi)發(fā)板

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

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

(1)這里使用的是hdc_std.exe,而不是HarmonyOS sdk中的hdc.exe;

(2)hdc_std.exe在哪里?

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

4、自己編譯OpenHarmony SDK

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

編譯命令如下:

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

結(jié)果輸出:

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

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

想了解更多內(nèi)容,請(qǐng)?jiān)L問(wèn):

和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.


當(dāng)前名稱:從HarmonyOS過(guò)渡到OpenHarmony應(yīng)用開(kāi)發(fā)指南&埋坑
網(wǎng)頁(yè)鏈接:http://m.5511xx.com/article/djjdehi.html