色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

OpenHarmony應用的編譯構建過程

OpenHarmony技術社區 ? 來源:鴻蒙技術社區 ? 作者:panda_coder ? 2022-04-21 08:13 ? 次閱讀

2022 年 3 月 31 日發布了最新的 IDE 工具 DevEco Studio 3.0 Beta3,仔細閱讀文檔后發現最新 OpenHarmony 應用的編譯構建過程已經公開。

對應官方文檔:《編譯構建概述》

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ohos-building-overview-0000001263360495

出于好奇,就對著文檔一步一步,一個文件一個文件的開始手動建立,最后編譯成功,分享一下構建過程。

成果

如下圖:

69d2971a-c0fe-11ec-bce3-dac502259ad0.png

工具準備

Node.js:v14.19.1+

最新 OpenHarmonySDK 包,并解壓到一個文件夾中,SDK下載地址:

https://gitee.com/link?target=https%3A%2F%2Frepo.huaweicloud.com%2Fharmonyos%2Fos%2F3.1-Release%2Fohos-sdk.tar.gz

SDK 目錄結構:

|---ets
|---3.1.5.5
|+---api
|+---build-tools
||+---ets-loader
|---component
---toolchains
---3.1.5.5
+---configcheck
+---lib
---syscapcheck

在創建好該目錄結構后還需要在 ets/js 下的 ./3.1.5.5/build-tools/ets-loader/ 目錄下執行 npm install 命令。

創建工程

①創建工程目錄

為了演示我重新在E盤創建一個新的工程文件夾 BuildTest,然后借助 vscode 工具創建 build-profile.json5、hvigofile.js、package.json 這三個配置文件。

build-profile.json5:注意 SDK 版本及 srcPath 配置,簽名信息略想看相應配置參考上述官方文檔。

{
"app":{
"signingConfigs":[//工程的簽名信息,可包含多個簽名信息
],
"compileSdkVersion":8,//指定OpenHarmony應用/服務編譯時的SDK版本
"compatibleSdkVersion":8,//指定OpenHarmony應用/服務兼容的最低SDK版本
"products":[//定義構建的產品品類,如通用默認版、付費版、免費版等
{
"name":"default",//定義產品的名稱,由開發者自定義
"signingConfig":"debug",//指定當前產品品類對應的簽名信息,簽名信息需要在signingConfigs中進行定義
}
]
},
"modules":[
{
"name":"entry",//模塊名稱
"srcPath":"./entry",//標明src目錄相對工程根目錄的相對路徑
"targets":[//定義構建的產物,由product和各模塊定義的targets共同定義
{
"name":"default",//target名稱,由各個模塊的build-profile.json5中的targets字段定義
"applyToProducts":[//產品品類名稱,由products字段進行定義
"default"
]
}
]
}
]
}

hvigorfile.js:

module.exports=require('@ohos/hvigor-ohos-plugin').legacyAppTasks

package.json:熟悉 npm 框架的都應該了解,package.json 是 npm 依賴相的配置文件,我們看看在工程目錄下的配置項。

{
"name":"buildtest",//工程名稱
"version":"1.0.0",//版本
"ohos":{//ohos
"org":"huawei",
"buildTool":"hvigor",
"directoryLevel":"project"
},
"description":"exampledescription",
"repository":{},
"license":"ISC",
"dependencies":{//依賴項
"hypium":"^1.0.0",
"@ohos/hvigor":"1.0.6",
"@ohos/hvigor-ohos-plugin":"1.0.6"
}
}

配置完工程后,我們創建我們的第一個模塊 entry。

②創建模塊

在工程目錄創建文件夾 entry(于上述 build-profile.json5 的 module 配置的 srcPath 保持一致)。

并添加模塊配置文件:build-profile.json5、hvigorfile.js、package.json以及和 HarmonyOS 一樣的 src 模塊目錄。

build-profile.json5:此處省略了 Cpp 配置,Cpp 相關配置參考官方文檔。

{
"apiType":'faMode',//API類型,API8為FA模型,API9為Stage模型,不需要修改
"showInServiceCenter":true,//是否在服務中心露出
"buildOption":{
"arkEnable":true,//是否使用方舟編譯器進行編譯
},
"targets":[//模塊對應的產物配置
{
"name":"default",
}
]
}

hvigorfile.js:

module.exports=require('@ohos/hvigor-ohos-plugin').legacyHapTasks

大家來找茬,此處配置乍一看和工程下的 hvigorfile.js 一個樣,其實 require 引入的模塊卻不相同。

工程目錄是 legacyAppTasks,此處是 legacyHapTasks(工程是 AppTasks 模塊是 HapTasks)。我就因為此處配置問題浪費了十幾分鐘。

package.json:此處的 npm 配置文件則是模塊中引用第三方組件/插件配置處。

{
"license":"ISC",
"name":"entry",
"ohos":{
"org":"huawei",
"directoryLevel":"module",
"buildTool":"hvigor"
},
"description":"exampledescription",
"repository":{},
"version":"1.0.0",
"dependencies":{}
}

再在 src 目錄下建立 src/main/config.json、src/main/ets/app.ets、src/main/ets/pages/index.ets、src/resources/…等對應文件。此處省略,具體參考對應文件結構及文件。

③構建

添加 npm 源:必須先添加 HarmonyOS 的 npm 源,否則執行 npm install 會報 404 錯誤。

npmconfigset@ohos:registry=https://repo.harmonyos.com/npm/

在工程目錄安裝依賴:在工程目錄(根目錄)下安裝依賴。

npminstall

執行構建命令:在工程目錄執行構建命令,構建是通過 node.js 調用 hvigor 工具進行打包構建,確保 node 已添加在系統環境變量中。

node./node_modules/@ohos/hvigor/bin/hvigor.js-mmoduleassembleHap

不出意外會出現以下錯誤:

PSE:BuildTest>node./node_modules/@ohos/hvigor/bin/hvigor.js-mmoduleassembleHap
>hvigorERROR:Aproblemoccurredinrootmodule:
ERROR:Cause:Cannotfindsdk.dirorOHOS_SDK_HOMEinSystemEnvironmentPath
atE:BuildTestlocal.properties:1:1
PSE:BuildTest>

以上原因是我們沒有配置 SDK 路徑。

處理方式為:在項目根路徑創建 local.properties 文件或者在系統環境變量中配置 OHOS_SDK_HOME,注意是系統環境變量不是用戶環境變量。

local.properties:

sdk.dir=//sdk所在文件夾
nodejs.dir=//nodejs所在文件夾

配置好后再重新執行構建命令就能看到我們構建成功的結果了。

69ea937e-c0fe-11ec-bce3-dac502259ad0.png

結語

做了這么多步驟,那么有什么實際意義尼?

目前 OpenHarmony 和 HarmonyOS 在 UI 上是共通的,只是 API 上不同。那么就能將 HarmonyOS 的 UI 直接拿到 Openharmony 上使用,直接打包構建 OpenHarmony 的 HAP。

再加工一下可以像 vue-cli 那樣直接創建出項目目錄,如果能再實現 preview 功能,就可以實現無需依賴 IDE 就能開發打包 HAP。

有機會自己自定義一個 IDE 出來,將上述過程黑盒化,想自己做 IDE 的朋友這一步肯定不能少。

原文標題:無需DevEco Studio就能編譯OHOS應用

文章出處:【微信公眾號:HarmonyOS技術社區】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IDE
    IDE
    +關注

    關注

    0

    文章

    345

    瀏覽量

    47266
  • 編譯
    +關注

    關注

    0

    文章

    672

    瀏覽量

    33428
  • HarmonyOS
    +關注

    關注

    79

    文章

    2005

    瀏覽量

    31650
  • OpenHarmony
    +關注

    關注

    26

    文章

    3791

    瀏覽量

    17619

原文標題:無需DevEco Studio就能編譯OHOS應用

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏

    評論

    相關推薦

    如何讓OpenHarmony編譯速度“狂飆”

    OpenHarmony 有兩種編譯方式,一種是通過 hb 工具編譯,一種是通過 build.sh 腳本編譯。本文筆者將提升 build.sh 方式
    的頭像 發表于 02-14 09:31 ?2204次閱讀

    OpenHarmony 移植:build lite 編譯構建過程

    這些疑惑,會對 build lite 編譯構建過程有個更深入的理解。 1、產品解決方案代碼是如何被調用編譯的 在文件 buildliteBUILD.gn 配置文件中的
    的頭像 發表于 02-19 16:19 ?1103次閱讀

    鴻蒙南向開發—OpenHarmony技術編譯構建框架

    概述 OpenHarmony編譯子系統是以GN和Ninja構建為基座,對構建和配置粒度進行部件化抽象、對內建模塊進行功能增強、對業務模塊進行功能擴展的系統,該系統提供以下基本功能: 以
    發表于 01-04 16:47

    2K0300 OpenHarmony源碼構建指南

    2K0300 OpenHarmony源碼構建參考如下 2K0300先鋒派OpenHarmony源碼構建指南 2K0300 源碼編譯wiki
    發表于 02-05 09:36

    使用DevEco Studio3.0編譯OHOS應用的過程

    在2022年3月31日發布了最新的IDE工具DevEco Studio 3.0 Beta3,仔細閱讀文檔后發現最新OpenHarmony應用的編譯構建過程已經公開,對應官方文檔:
    發表于 04-11 11:20

    【ROC-RK3568-PC開發板試用體驗】RK3568的Openharmony系統構建過程

    就參考Firefly Wiki openharmony使用手冊進行我們的系統構建,其中構建過程不多贅述,此處僅僅列舉構建
    發表于 09-05 19:08

    DevEco Hvigor高效編譯構建過程新秘籍

    包括任務執行的耗時與線程、ArkTS編譯中的各環節的細分耗時情況等。開發者可以藉此分析構建過程中的耗時情況、進而改善構建效率。 在DevEco Studio中開啟DevEco Hvig
    發表于 10-17 16:54

    編譯openharmony環境

    OpenHarmony是由開放原子開源基金會(OpenAtom Foundation)孵化及運營的開源項目,當前的OpenHarmony源代碼僅支持在Linux環境下編譯。 開源代碼倉庫地址
    的頭像 發表于 06-23 15:29 ?1472次閱讀
    <b class='flag-5'>編譯</b><b class='flag-5'>openharmony</b>環境

    詳解OpenHarmony編譯和燒錄

    在上一篇【博流 BL-HWC-G1 開發板試用】開箱及編譯燒錄官方程序(BL602 IoT SDK)中,我們講了這塊開發板使用官方SDK進行編譯燒錄,這一篇,我們來講OpenHarmony
    的頭像 發表于 11-08 09:58 ?5872次閱讀
    詳解<b class='flag-5'>OpenHarmony</b>的<b class='flag-5'>編譯</b>和燒錄

    剖析OpenHarmony3.0編譯構建流程

    ?? 早就打算研究下 OH3.0 的編譯框架了,最近一直在搞移植,總算有點進展了,抽個空來分析下 3.0 的編譯框架。 ?? 大體看了下和 2.0 的差別不是特別大:《 OpenHarmony
    的頭像 發表于 12-07 10:54 ?3431次閱讀

    OpenHarmony Dev-Board-SIG專場:搭建編譯構建主要步驟

    OpenHarmony Dev-Board-SIG專場:搭建編譯構建主要步驟
    的頭像 發表于 12-28 14:37 ?1165次閱讀
    <b class='flag-5'>OpenHarmony</b> Dev-Board-SIG專場:搭建<b class='flag-5'>編譯</b><b class='flag-5'>構建</b>主要步驟

    OpenHarmony生態論壇:基于OpenHarmony構建支付終端的安全框架

    OpenHarmony生態論壇:基于OpenHarmony構建支付終端的安全框架 ? ? ? 審核編輯:彭菁 ?
    的頭像 發表于 04-25 17:17 ?1462次閱讀
    <b class='flag-5'>OpenHarmony</b>生態論壇:基于<b class='flag-5'>OpenHarmony</b><b class='flag-5'>構建</b>支付終端的安全框架

    Windows搭建OpenHarmony編譯環境

    由于OpenHarmony編譯工具鏈主要是建立在Linux操作系統下,如需要編譯OpenHarony內核則需要搭建虛擬機等工序,相對比較繁瑣。那么,是否可以在Windows操作系統上實現
    的頭像 發表于 08-09 08:26 ?1895次閱讀
    Windows搭建<b class='flag-5'>OpenHarmony</b><b class='flag-5'>編譯</b>環境

    【技術視界】DevEco Hvigor高效編譯構建過程新秘籍

    的是華為終端BG編譯構建技術專家的分享,希望能為您的開發之路帶來啟發~ 作者:Lewei,華為終端BG編譯構建技術專家 DevEcoHvigor是使用TypeScript語言開發的全新
    的頭像 發表于 09-26 12:10 ?1342次閱讀
    【技術視界】DevEco Hvigor高效<b class='flag-5'>編譯</b>,<b class='flag-5'>構建</b><b class='flag-5'>過程</b>新秘籍

    鴻蒙OpenHarmony開發:【編譯構建指導】

    OpenHarmony編譯子系統是以GN和Ninja構建為基座,對構建和配置粒度進行部件化抽象、對內建模塊進行功能增強、對業務模塊進行功能擴展的系統,該系統提供以下基本功能
    的頭像 發表于 05-13 09:31 ?2201次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>開發:【<b class='flag-5'>編譯</b><b class='flag-5'>構建</b>指導】
    主站蜘蛛池模板: 日本红怡院亚洲红怡院最新 | 4438全国免费观看 | 国产伦精品一区二区免费 | 欧美 日韩 亚洲 在线 | 精品久久久久久久久免费影院 | 狠狠撸亚洲视频 | 国产成人精品区在线观看 | 国产区在线不卡视频观看 | 在线免费观看毛片 | 我在厨房摸岳的乳HD在线观看 | 91久久线看在观草草青青 | 日本亚洲中文字幕无码区 | 偷拍国产精品在线播放 | 动漫AV纯肉无码AV电影网 | 国产精品日本不卡一区二区 | 秋霞网站一级一片 | 体育生爆操 | 妈妈的朋友6未删减版完整在线 | 国产伦精品一区二区三区免费观看 | 亚洲国产在线视频精品 | 欧美日韩午夜群交多人轮换 | 花蝴蝶hd免费 | 黑丝制服影院 | 九九视频在线观看视频6 | 亚洲 欧美 国产 综合不卡 | 二级毛片免费观看全程 | 亚洲精品视频免费看 | 97精品一区二区视频在线观看 | 色裕插插插影视 | 性夜夜春夜夜爽AA片A | 国产久久热99视频 | 男生插女生下体 | 亚洲AV久久婷婷蜜臀无码不卡 | 亚洲精品国产拍在线观看 | 床上色APP下载免费版 | 99热在线精品免费全部my | 国产成人精品综合在线 | 久草国产在线播放 | 野花韩国高清完整版在线观看5 | 女性性纵欲派对 | 大屁股妇女流出白浆 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品