亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

【技術視界】DevEco Hvigor高效編譯,構(gòu)建過程新秘籍

HarmonyOS開發(fā)者 ? 來源:未知 ? 2023-09-26 12:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

# 技術視界# 【技術視界】欄目為開發(fā)者提供華為研發(fā)專家對于HarmonyOS關鍵技術的專業(yè)解讀,從不同角度、不同方面幫助開發(fā)者更好更快地掌握HarmonyOS相關開發(fā)知識。本期文章為大家?guī)淼氖侨A為終端BG編譯構(gòu)建技術專家的分享,希望能為您的開發(fā)之路帶來啟發(fā)~ 作者:Lewei,華為終端BG編譯構(gòu)建技術專家

DevEcoHvigor是使用TypeScript語言開發(fā)的全新輕量化的任務調(diào)度工具,針對HarmonyOS應用提供了一系列編譯構(gòu)建任務,支持將HarmonyOS應用編譯構(gòu)建出對應的產(chǎn)物包。作為一款HarmonyOS應用編譯構(gòu)建任務流工具,DevEco Hvigor具備許多可以提升構(gòu)建效率的特性,支持多產(chǎn)物差異化構(gòu)建,也支持HarmonyOS應用可分可合等特性??梢苑Q得上是"麻雀雖小五臟俱全"。

任務并行

DevEco Hvigor具備任務并行執(zhí)行的能力。對于C++編譯、ArkTS任務等耗時而沒有依賴關系的任務,DevEcoHvigor可以使用不同的工作線程并行執(zhí)行,提高構(gòu)建效率。在多模塊的中大型工程中,將帶來可觀的耗時節(jié)省。

在DevEco Studio中開啟DevEco Hvigor的并行編譯構(gòu)建能力,需要在DevEcoStudio中打開Settings - Build, Execution,Development - Build Tools - Hvigor選項,并勾選"Executetasks in parallel mode"。

wKgaomUroLKAAAToAAJmi5DP4MQ835.png

任務增量

HarmonyOS應用的編譯構(gòu)建流程是由任務組成的。DevEco Hvigor具備任務增量執(zhí)行的能力,通過判斷任務的輸入與輸出,對于輸入與輸出沒有變化的任務,可以復用上次構(gòu)建產(chǎn)物,從而跳過對應的任務,節(jié)省構(gòu)建時間。

在DevEco Studio中開啟DevEco Hvigor的任務增量能力,需要在DevEco Studio中打開Settings - Build,Execution, Development - Build Tools - Hvigor選項,并勾選"Re-execute the task in incremental mode"。

wKgaomUroLKAZOopAAJnJ_ZuaEc105.png

常駐進程

DevEco Hvigor提供了常駐進程的功能機制。通過將進程常駐在內(nèi)存中,一方面避免了Node進程重復啟動、減少了加載js文件的耗時,另一方面可以復用構(gòu)建過程中的增量緩存、減少增量緩存信息的讀取與落盤操作。

另外,啟用DevEco Hvigor的常駐進程功能,還可以支持預覽器的急速預覽功能和調(diào)試的Hot reload功能。DevEco Hvigor通過對代碼文件的監(jiān)聽,可以快速編譯代碼片段,急速更新預覽畫面和在設備上實時調(diào)試代碼修改。

在DevEco Studio中開啟DevEco Hvigor的常駐進程構(gòu)建能力,需要在DevEcoStudio中打開Settings - Build, Execution,Development - Build Tools - Hvigor選項,并勾選"Enablethe Daemon for tasks"。

wKgaomUroLOARh4yAAJm20YrJAM748.png

在命令行中,可以通過使用hvigorw命令行工具來查看常駐進程狀態(tài)或關閉常駐進程。

  • 在工程目錄下執(zhí)行./hvigorw --status-daemon,可以查看所有常駐進程的狀態(tài)。

  • 在工程目錄下執(zhí)行./hvigorw --stop-daemon,可以關閉當前工程對應的常駐進程。

  • 在工程目錄下執(zhí)行./hvigorw --stop-daemon-all,可以關閉當前運行的所有DevEco Hvigor常駐進程。

構(gòu)建過程可視化

DevEco Hvigor會記錄每次構(gòu)建任務的日志信息,并通過可視化的圖表界面進行展示。記錄的信息包括任務執(zhí)行的耗時與線程、ArkTS編譯中的各環(huán)節(jié)的細分耗時情況等。開發(fā)者可以藉此分析構(gòu)建過程中的耗時情況、進而改善構(gòu)建效率。

在DevEco Studio中開啟DevEco Hvigor的常駐進程構(gòu)建能力,需要在DevEcoStudio中打開Settings - Build, Execution,Development - Build Tools - Hvigor選項,并勾選"Enablethe Daemon for tasks"。

wKgaomUroLOAMOMKAAJob4p0yIA793.png

后,可以點擊DevEco Studio下方的"Build Analyzer"標簽頁,查看構(gòu)建過程中的日志信息和耗時情況。

wKgaomUroLSAGOcPAAGMpv-VDh8943.png

差異化構(gòu)建打包

常情況下,應用廠商會根據(jù)不同的部署環(huán)境、不同的目標人群以及不同的運行環(huán)境等,將同一個應用定制為不同的版本。DevEcoHvigor支持差異化構(gòu)建打包,在構(gòu)建配置文件中將差異化部分顯示配置出來,即可在編譯構(gòu)建過程中實現(xiàn)一個應用構(gòu)建出不同的目標產(chǎn)物版本,從而實現(xiàn)源代碼、資源文件等的高效復用。

通過配置Target,每個HAP包都可以定制功能和資源。在每個HAP模塊的build-profile.json5中,可以配置該模塊支持的Targets:

{
  "apiType": 'stageMode',
  "buildOption": {  
  },
  "targets": [  //定義不同的target
    {
      "name": "default",  //默認target名稱default
      "runtimeOS": "HarmonyOS",
    },
    {
      "name": "free",  //免費版target名稱
      "runtimeOS": "HarmonyOS"
    },
    {
      "name": "pay",  //付費版target名稱
      "runtimeOS": "HarmonyOS",
    }
  ]
}

(左右滑動查看更多)

在每個target中,可以定制其頁面源碼集、資源目錄、支持的設備類型等,比如當你只希望某個hap對應平板設備、而某個hap包對應手機配置時,可以如下配置:
{
  "apiType": 'stageMode',
  "buildOption": {
  },
  "targets": [
    {
      "name": "default",
      "runtimeOS": "HarmonyOS",
    },
    {
      "name": "phone",
      "runtimeOS": "HarmonyOS",
      "config": {
        "deviceType": [  //定義free支持的設備類型為phone
          "phone"
        ]
      }
    },
    {
      "name": "tablet",
      "runtimeOS": "HarmonyOS",
      "config": {
        "deviceType": [  //定義pay支持的設備類型為phone
          "tablet"
        ]
      }
    }
  ]
}
(左右滑動查看更多通過配置將哪些HAP模塊的Target與Product綁定,讓定制化的HAP可以組合成APP包、發(fā)布上架應用市場。在工程級的build-profile.json5中,先定義Product,并可以定制使用不同的bundleName和簽名材料:
"app": {
    "signingConfigs": [],
    "compileSdkVersion": 9,
    "compatibleSdkVersion": 9,
    "products": [
      {
        "name": "default",
        "bundleName": "com.example00.com",  //定義default的bundleName信息
        "signingConfig": "default" //定義default的簽名文件信息
      },
      {
        "name": "productA",
        "bundleName": "com.example01.com",  //定義productA的bundleName信息
        "signingConfig": "productA" //定義productA的簽名文件信息
      },
      {
        "name": "productB",
        "bundleName": "com.example02.com",  //定義productB的bundleName信息
        "signingConfig": "productB" //定義productB的簽名文件信息
      }
    ]
}
(左右滑動查看更多再定義需要將哪些HAP模塊的Target與Product綁定,就可以在上架應用商店時提供不同的APP包。
{
  "app": {
    "signingConfigs": [],
    "compileSdkVersion": 9,
    "compatibleSdkVersion": 9,
    "products": [
      {
        "name": "default",
        "bundleName": "com.example00.com",
        "signingConfig": "default"
      },
      {
        "name": "productA",
        "bundleName": "com.example01.com",
        "signingConfig": "productA"
      },
      {
        "name": "productB",
        "bundleName": "com.example02.com",
        "signingConfig": "productB"
      }
    ]
  },
  "modules": [
    {
      "name": "entry",
      "srcPath": "./entry",
      "targets": [
        {
          "name": "default",  //將default target分別打包到default、productA和productB APP中
          "applyToProducts": [
            "default",
            "productA",
            "productB"
          ]
        },
        {
          "name": "free",  //將free target打包到productA APP中
          "applyToProducts": [
            "productA"
          ]
        },
        {
          "name": "pay",  //將pay target打包到productB APP中
          "applyToProducts": [
            "productB"
          ]
        }
      ]
    }
  ]
}
(左右滑動查看更多最后,在DevEco Studio中,可以使用可視化界面來選擇運行和調(diào)試指定模塊和Target。從DevEco Studio界面的右上角打開面板,執(zhí)行需要調(diào)試或運行的Target,DevEco Hvigor就會執(zhí)行指定模塊、指定Target的編譯構(gòu)建,并在預覽和調(diào)試中都使用該配置。

wKgaomUroLSAKb6XAAJ5D1FyAoU784.png

未來特性與總結(jié)

目前,DevEcoHvigor作為全新開發(fā)的編譯構(gòu)建工具,雖然已經(jīng)有了不少可以提升編譯效率的地方,但仍有許多新的特性、功能和性能優(yōu)化還在路上。比如,DevEcoHvigor即將開放的自定義構(gòu)建任務插件能力和編譯流程插樁接口、在運行時獲取構(gòu)建配置的BuildProfile機制等。我們會繼續(xù)努力,力求將更好的編譯效率、更便捷的構(gòu)建體驗,帶給每一位HarmonyOS應用的開發(fā)者。

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

    關注

    80

    文章

    2144

    瀏覽量

    35327

原文標題:【技術視界】DevEco Hvigor高效編譯,構(gòu)建過程新秘籍

文章出處:【微信號:HarmonyOS_Dev,微信公眾號:HarmonyOS開發(fā)者】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    HarmonyOSAI編程編譯報錯智能分析

    DevEco Studio構(gòu)建ArkTS工程出現(xiàn)失敗時,CodeGenie能夠?qū)﹀e誤進行智能分析,提供錯誤原因及修復方案,幫助開發(fā)者快速解決編譯構(gòu)建問題。 如需開啟
    發(fā)表于 08-25 17:40

    HarmonyOSAI編程DevEco AI輔助編程工具

    DevEco AI輔助編程工具(CodeGenie)基于BitFun Platform AI能力平臺,為開發(fā)者提供高效的應用與服務AI編程支持,支持智能知識問答、代碼生成、頁面生成、萬能卡片生成
    發(fā)表于 08-18 14:54

    迅為RK3568開發(fā)板基本工程目錄-工程級目錄

    : 從上往下依次來了解下。 .hvigor 目錄是編譯構(gòu)建腳本生成目錄。 .idea 目錄用于存儲項目的配置信息,包括歷史記錄,版本控制信息等,是由開發(fā)工具自動生成的,一般情況下不需要進行修改
    發(fā)表于 07-10 10:45

    DevEco CodeGenie 鴻蒙AI 輔助編程初次使用

    一、工具概述與核心能力 DevEco CodeGenie 是集成在 DevEco Studio 中的 AI 輔助編程插件,專為 HarmonyOS 應用開發(fā)設計,提供三大核心能力: 智能知識問答
    的頭像 發(fā)表于 06-26 08:48 ?407次閱讀

    使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件

    ├── hvgor/ │└── hvigor-config.json5 ├── build/ # 編譯后正式包 └── build-profile.json5# 項目構(gòu)建配置文件 4 代碼方式布局
    發(fā)表于 06-11 17:18

    最新 HUAWEI DevEco Studio 使用技巧

    最新 HUAWEI DevEco Studio 使用技巧 HUAWEI DevEco Studio 作為我們 harmonyos 應用的開發(fā)工具,有必要好好打磨一下。 Chinese
    的頭像 發(fā)表于 04-27 16:59 ?1027次閱讀
    最新 HUAWEI <b class='flag-5'>DevEco</b> Studio 使用技巧

    DevEco Studio 工具如何安裝

    簽名。 步驟 3在編輯窗口右上角的工具欄,點擊運行按鈕,或使用默認快捷鍵 Shift+F10(Mac 為 Control+R)運行工程,等待編譯完成即可便運行在設備上。 至此,驗證了 DevEco Studio 工具已正確安裝,接下來可以開始正式的應用開發(fā)。
    發(fā)表于 04-24 07:38

    DevEco Studio增量補丁修復功能,讓鴻蒙應用的調(diào)試效率大增

    后,僅對代碼的修改部分進行增量產(chǎn)物構(gòu)建并打成補丁包,而不是漫長的全量編譯,這一過程能夠節(jié)省開發(fā)者大量的時間。而補丁修復則是替換并更新運行時中對應方法或文件并重載到應用中,最后重新構(gòu)建
    發(fā)表于 04-14 17:35

    DevEco Studio增量補丁修復功能,讓鴻蒙應用的調(diào)試效率大增

    后,僅對代碼的修改部分進行增量產(chǎn)物構(gòu)建并打成補丁包,而不是漫長的全量編譯,這一過程能夠節(jié)省開發(fā)者大量的時間。而補丁修復則是替換并更新運行時中對應方法或文件并重載到應用中,最后重新構(gòu)建
    發(fā)表于 04-14 14:47

    KiCad直播活動(三):在 Windows上編譯KiCad 手把手教您編譯/構(gòu)建 KiCad 源碼

    Developer Ethan 同學,手把手教您編譯/構(gòu)建 KiCad 源碼: 開發(fā)工具安裝 環(huán)境變量配置 使用 VS2022 構(gòu)建 KiCad 參與直播的小伙伴還有機會獲得 KiCon Badge
    的頭像 發(fā)表于 03-24 11:14 ?1264次閱讀
    KiCad直播活動(三):在 Windows上<b class='flag-5'>編譯</b>KiCad 手把手教您<b class='flag-5'>編譯</b>/<b class='flag-5'>構(gòu)建</b> KiCad 源碼

    DevEco Studio 聯(lián)合小藝接入 DeepSeek,步驟更簡單開發(fā)鴻蒙更專業(yè)

    ,提供智能知識問答、代碼生成、元服務卡片生成的能力,新增支持對接小藝 DeepSeek,可以幫助開發(fā)者高效開發(fā)鴻蒙應用及元服務。 在 DevEco Studio 下載頁向下翻,就可以看
    發(fā)表于 03-13 15:11

    HarmonyOS NEXT 原生應用/元服務-DevEco Profiler性能優(yōu)化過程

    。DevEco Profiler也遵循以上流程,在使用DevEco Profiler進行性能優(yōu)化時,您可以參考以下過程: 1.使用“Realtime Monitor”監(jiān)控設備的各項資源使用情況,識別定界
    發(fā)表于 02-19 15:28

    如何在DevEco Studio中利用CodeGPT接入DeepSeek

    近期DeepSeek火爆全球,那一樣很火的開發(fā)鴻蒙原生應用的DevEco Studio如果把它接入,會發(fā)生什么“化學反應”呢?下面我們將詳細分享如何在DevEco Studio中利用CodeGPT
    的頭像 發(fā)表于 02-19 13:52 ?1652次閱讀
    如何在<b class='flag-5'>DevEco</b> Studio中利用CodeGPT接入DeepSeek

    DevEco Studio構(gòu)建分析工具Build Analyzer 為原生鴻蒙應用開發(fā)提速

    在原生鴻蒙應用開發(fā)過程中,隨著項目復雜度的增加,開發(fā)者花費在構(gòu)建上的時間越來越長,導致開發(fā)效率降低。為了幫助開發(fā)者解決構(gòu)建效率的問題,華為在DevEco Studio上提供了Build
    發(fā)表于 02-17 18:06

    Triton編譯器與其他編譯器的比較

    Triton編譯器與其他編譯器的比較主要體現(xiàn)在以下幾個方面: 一、定位與目標 Triton編譯器 : 定位:專注于深度學習中最核心、最耗時的張量運算的優(yōu)化。 目標:提供一個高度抽象、靈活、高效
    的頭像 發(fā)表于 12-24 17:25 ?1449次閱讀