|
HarmonyOS編譯踩坑(Windows+VMWare環(huán)境), 順利拿到板子,開(kāi)搞,第一步當(dāng)然是環(huán)境搭建。論壇的大大們?cè)缇蜑槲覀儨?zhǔn)備好了詳細(xì)的攻略。筆者并沒(méi)有一臺(tái)獨(dú)立的Ubuntu機(jī)器,于是在Windows上安裝VMWare虛擬機(jī)作為編譯HarmonyOS的Linux環(huán)境。過(guò)程有些曲折,幾次想要放棄,想直接伸手拿做好的Ubuntu鏡像,不過(guò)堅(jiān)持到最后還是成功了,F(xiàn)在想想雖然花的時(shí)間有點(diǎn)多,但也非常值得,讓我對(duì)鴻蒙OS的結(jié)構(gòu)和編譯過(guò)程有了一個(gè)更加直觀的認(rèn)識(shí)。下面講一下過(guò)程中踩過(guò)的坑,希望幫助大家少走彎路。
筆者的環(huán)境是Ubuntu 16.0,運(yùn)行在VMWare 14中。物理機(jī)是Windows10。
一. Linux的編譯環(huán)境搭建
直接參考官方文檔就好了(傳送門(mén))。各個(gè)工具的安裝版本,推薦和文章中一致,實(shí)在不行高一點(diǎn)也可以,如果低了就有可能留下隱患,且很難排查。其中SCons不是很好下載,如果網(wǎng)絡(luò)不好的,它的官方網(wǎng)站經(jīng)常訪問(wèn)不到。靈活運(yùn)用下載工具,再拷貝進(jìn)Ubuntu離線安裝。
二. 源代碼編譯
推薦從鏡像站點(diǎn)下載壓縮文件,方便快捷。關(guān)于源代碼放在哪里,推薦按照官方說(shuō)的放在Ubuntu中,用Samba等工具設(shè)置成共享目錄,再?gòu)腤indows訪問(wèn),進(jìn)行燒錄和調(diào)試。我在一開(kāi)始把源代碼放在了VMWare提供的共享目錄中,以為這樣更加方便,發(fā)現(xiàn)在解壓源代碼的時(shí)候,提示了一堆錯(cuò)誤,大意是無(wú)法創(chuàng)建軟連接。我也沒(méi)有太在意,結(jié)果編譯時(shí)的錯(cuò)誤一個(gè)接一個(gè)。后來(lái)才了解到,VMWare的共享目錄分區(qū)格式是fat32,不支持創(chuàng)建軟連接操作。重新拷貝源碼壓縮包進(jìn)Ubuntu并解壓后,成功編譯。所以說(shuō)還是老老實(shí)實(shí)的用Samba比較穩(wěn)妥。
Ubuntu共享目錄設(shè)置(原文章):
- 1.輸入如下命令:
- sudo apt-get install samba
- sudo apt-get install samba-common
-
- 2.修改samba配置文件
- sudo vim /etc/samba/smb.conf
- 在最后加入如下內(nèi)容:
- [work]
- comment = samba home directory
- path = /home/hARMony/
- public = yes
- browseable = yes
- public = yes
- writeable = yes
- read only = no
- valid users = harmony
- create mask = 0777
- directory mask = 0777
- #force user = nobody
- #force group = nogroup
- available = yes
-
- 3.保存退出后,輸入如下命令,設(shè)置samba密碼,建議123456即可
- sudo smbpasswd -a harmony
-
- 4.重啟samba服務(wù)
- sudo service smbd restart
-
- 5.windows映射
- 在文件夾路徑輸入虛擬機(jī)的IP地址訪問(wèn)一下試試,最后映射成網(wǎng)絡(luò)驅(qū)動(dòng)器即可。
復(fù)制代碼
三. 燒錄
官方給的燒錄方案是Hiburn或者Jlink。如果用Hiburn方式可以采用DevEcoDeviceTool中的集成功能,但筆者在使用VSCode+DevEcoDeviceTool時(shí),總是提示“因?yàn)槿鄙賡erialport模塊,無(wú)法刷新端口號(hào)下拉列表...”,重新安裝serialport也不能解決。最終在官方大大們的幫助下,改為直接用Hiburn工具燒錄成功。
燒錄時(shí)需要注意一件事情,一般的操作流程是,設(shè)置好參數(shù)、串口號(hào)、選擇燒錄文件后,先不點(diǎn)Connect,勾選Auto burn即上電自動(dòng)燒錄,再點(diǎn)Connect,按一下板子上的RST按鈕重新上電,Hiburn就會(huì)進(jìn)行燒錄了。這時(shí)如果想讓板子跑起來(lái),需要Disconnect一下,把Auto burn勾掉,再Connect,按RST按鈕,就會(huì)看到串口打印的信息了。如下圖:
圖中的[DEMO] Hello Harmony!就是我在HelloWorld.c中打印的內(nèi)容。第一個(gè)Hello World程序就這樣完成了。
HarmonyOS對(duì)大家來(lái)說(shuō)都是一個(gè)比較新的東西,一步一個(gè)腳印才能掌握扎實(shí)。這里把過(guò)程記錄下來(lái),希望對(duì)大家有所幫助。 |
|