環球新消息丨HarmonyOS開發:運行hello world

2023-06-12 10:26:37 來源:OST開源開發者

很多伙伴對于 Openharmony北向開發和南向開發感到困惑。南向開發就是硬件開發,這里我就和大家談談北向開發。

北向開發就是軟件應用開發,基于 ArkTS 語言開發。編譯器是 DevEco Studio。下面就講解一下編譯器安裝和具體情況。

DevEco Studio 的安裝


(相關資料圖)

首先我們登錄官網:

這里需要注意的是你需要根據你的電腦進行安裝相應的版本。如果你是 win 系統你可以下載Windows(64-bit),如果你是 Macos 請下載 Mac(ARM)。(具體根據自己的系統架構來區分下載版本)。

注:如果你的 mac 是 M1 或者 M2 芯片,請不要下載 X86 版本!請不要下載 X86 版本!請不要下載 X86 版本!

下載好之后點擊安裝,就會出現以下畫面(小編用的是 mac 系統可能會有點不一樣但大部分是一樣的):將其拖進 Application 就行了。

然后我們打開軟件,就會出現以下內容:

在這里把存儲地址選好然后點 next。

繼續點 next 就好了。

完成后點 finish 就行了。

這里點擊 agree 就行了。進入 DevEco Studio 配置頁面,首先需要進行基礎配置,包括 Node.js與 Ohpm 的安裝路徑設置,選擇從華為鏡像下載至合適的路徑。

點擊 next 進行下一步。

一直點 next 就行了。

完成后點擊 finish 就可以了。

這樣我們的編譯器就安裝好了。

HarmonyOS開發

①開發工具:DevEco Studio。

②開發語言:ArkTS,UI 框架 ArkUI

③工程級目錄

如下:

AppScope 中存放應用全局所需要的資源文件。

entry 是應用的主模塊,存放 HarmonyOS 應用的代碼、資源等。

oh_modules 是工程的依賴包,存放工程依賴的源文件。

build-profile.json5 是工程級配置信息,包括簽名、產品配置等。

hvigorfile.ts 是工程級編譯構建任務腳本,hvigor 是基于任務管理機制實現的一款全新的自動化構建工具,主要提供任務注冊編排,工程模型管理、配置管理等核心能力。

oh-package.json5 是工程級依賴配置文件,用于記錄引入包的配置信息。

注:在 AppScope,其中有 resources 文件夾和配置文件 app.json5。

AppScope>resources>base 中包含 element 和 media 兩個文件夾。

其中 element 文件夾主要存放公共的字符串、布局文件等資源。media 存放全局公共的多媒體資源文件。

④模塊級目錄

①entry>src 目錄中主要包含總的 main 文件夾,單元測試目錄 ohosTest,以及模塊級的配置文件。

如下:

main 文件夾中,ets 文件夾用于存放 ets 代碼,resources 文件存放模塊內的多媒體及布局文件等,module.json5 文件為模塊的配置文件。

ohosTest 是單元測試目錄。

build-profile.json5 是模塊級配置信息,包括編譯構建配置項。

hvigorfile.ts 文件是模塊級構建腳本。

oh-package.json5 是模塊級依賴配置信息文件。

②進入 src>main>ets 目錄中,其分為 entryability、pages 兩個文件夾。

entryability 存放 ability 文件,用于當前 ability 應用邏輯和生命周期管理。pages 存放 UI 界面相關代碼文件,初始會生成一個 Index 頁面。

③resources 目錄下存放模塊公共的多媒體、字符串及布局文件等資源,分別存放在 element、media 文件夾中。

④app.jason5

{"app":{"bundleName":"com.example.myapplication","vendor":"example","versionCode":1000000,"versionName":"1.0.0","icon":"$media:app_icon","label":"$string:app_name"}}

AppScope>app.json5 是應用的全局的配置文件,用于存放應用公共的配置信息。

其中配置信息如下:

bundleName 是包名。

vendor 是應用程序供應商。

versionCode 是用于區分應用版本。

versionName 是版本號。

icon 對應于應用的顯示圖標。

label 是應用名。

⑤module.json5

entry>src>main>module.json5 是模塊的配置文件,包含當前模塊的配置信息。

{"module":{"name":"entry","type":"entry","description":"$string:module_desc","mainElement":"EntryAbility","deviceTypes":["phone"],"deliveryWithInstall":true,"installationFree":false,"pages":"$profile:main_pages","abilities":[{"name":"EntryAbility","srcEntry":"./ets/entryability/EntryAbility.ts","description":"$string:EntryAbility_desc","icon":"$media:icon","label":"$string:EntryAbility_label","startWindowIcon":"$media:icon","startWindowBackground":"$color:start_window_background","exported":true,"skills":[{"entities":["entity.system.home"],"actions":["action.system.home"]}]}]}}

其中 module 對應的是模塊的配置信息,一個模塊對應一個打包后的 hap 包,hap 包全稱是 HarmonyOS Ability Package,其中包含了 ability、第三方庫、資源和配置文件。其具體屬性及其描述可以參照下表。

name:標簽標識當前 module 的名字,module 打包成 hap 后,表示 hap 的名稱,標簽值采用字符串表示(最大長度 31 個字節),該名稱在整個應用要唯一。

type:表示模塊的類型,類型有三種,分別是 entry、feature 和 har。

srcEntry:當前模塊的入口文件路徑。

description:當前模塊的描述信息。

mainElement:該標簽標識 hap 的入口 ability 名稱或者 extension 名稱。只有配置為 mainElement 的 ability 或者 extension 才允許在服務中心露出。

deviceTypes:該標簽標識 hap 可以運行在哪類設備上,標簽值采用字符串數組的表示。

deliveryWithInstall:標識當前 Module 是否在用戶主動安裝的時候安裝,表示該 Module 對應的 HAP 是否跟隨應用一起安裝。- true:主動安裝時安裝。- false:主動安裝時不安裝。

installationFree:標識當前 Module 是否支持免安裝特性。- true:表示支持免安裝特性,且符合免安裝約束。- false:表示不支持免安裝特性。

pages:對應的是 main_pages.json 文件,用于配置 ability 中用到的 page 信息。

abilities:是一個數組,存放當前模塊中所有的 ability 元能力的配置信息,其中可以有多個 ability。

⑥main_pages.json

{"src":["pages/Index"]}

src/main/resources/base/profile/main_pages.json 文件保存的是頁面 page 的路徑配置信息,所有需要進行路由跳轉的 page 頁面都要在這里進行配置。

運行一個hello world

下面我們新建一個項目:

點擊 next:

繼續點擊 next:

等待其下載好。

點擊 tools 里面的 Device Manager。

點擊右下角按鈕:

點擊 next。

一般這邊會出現下載圖標,這里博主下載過了所以沒有出現。下載好之后直接點擊 next。

下載完成之后點擊綠色三角形標就行了。這樣模擬機就可以運行了。

這樣就算啟動好了。

然后我們點擊右上角啟動預制的 hello world 代碼。這樣就算完成了。

總結

如果還有錯誤的地方歡迎指出并糾正。謝謝大家!

審核編輯:湯梓紅

標簽:

上一篇:基于Ansys的PCB板級電磁兼容 世界熱門
下一篇:最后一頁