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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

鴻蒙(Harmony OS)中Native層的SDK詳細(xì)解析

哆啦安全 ? 來(lái)源:編碼安全 ? 2024-04-02 14:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

鴻蒙中支持har包和hsp包的創(chuàng)建,其中har包是靜態(tài)共享庫(kù),編譯后會(huì)生成一個(gè)以har為后綴的文件。Hsp是動(dòng)態(tài)共享包,編譯后生成一個(gè)以hsp為后綴的文件。

375edc92-f09c-11ee-a297-92fbcf53809c.png

Index.ets文件是HAR導(dǎo)出聲明文件的入口,HAR需要導(dǎo)出的接口,統(tǒng)一在Index.ets文件中導(dǎo)出。在編譯構(gòu)建HAR的過(guò)程中,不會(huì)將模塊中的C++代碼直接打包進(jìn).har文件中,而是將C++代碼編譯成動(dòng)態(tài)依賴(lài)庫(kù).so文件放置在.har文件中的libs目錄下。

創(chuàng)建har包

選擇static library方式,并且包含native的選項(xiàng)

3769b4f0-f09c-11ee-a297-92fbcf53809c.png377496a4-f09c-11ee-a297-92fbcf53809c.png ? 創(chuàng)建類(lèi)以及函數(shù) 377e46d6-f09c-11ee-a297-92fbcf53809c.png ?

在CMaakeLists.txt文件中包含類(lèi)的cpp文件,才能進(jìn)行編譯

37878c46-f09c-11ee-a297-92fbcf53809c.png

napi的創(chuàng)建調(diào)用

將c++的代碼轉(zhuǎn)換為napi方式去做調(diào)用

37995700-f09c-11ee-a297-92fbcf53809c.png ?

napi中進(jìn)行重命名以及注冊(cè)

37a61f62-f09c-11ee-a297-92fbcf53809c.png ?

將napi的函數(shù)進(jìn)行設(shè)置導(dǎo)出共ark語(yǔ)言調(diào)用也就是ets中調(diào)用(這個(gè)的導(dǎo)出也就是so的接口導(dǎo)出)

37aa526c-f09c-11ee-a297-92fbcf53809c.png ?

因?yàn)樵赼rkts中是無(wú)法直接調(diào)用so的接口,需要通過(guò)napi中轉(zhuǎn)到ets中進(jìn)行調(diào)用 下面就是so中導(dǎo)出的接口通過(guò)napi中轉(zhuǎn)后,其他第三方就可以調(diào)用so的接口了。

37b26b00-f09c-11ee-a297-92fbcf53809c.png

設(shè)置so導(dǎo)出接口

最后需要再index.ets文件中設(shè)置arkts的接口導(dǎo)出,接口導(dǎo)出需要指明到具體文件上

37bdd274-f09c-11ee-a297-92fbcf53809c.png

調(diào)用so接口

生成har包后,就可將har包放到要調(diào)用的代碼目錄中了,放在entery的目錄上即可

37cce692-f09c-11ee-a297-92fbcf53809c.png ?

安裝har包到項(xiàng)目中,前面是定義的har包的名稱(chēng),后面指定的是放到目錄中的har包。接著會(huì)提示錯(cuò)誤,最后,只要執(zhí)行install 就可以了,這樣就會(huì)將har包安裝到項(xiàng)目中了

37d11456-f09c-11ee-a297-92fbcf53809c.png ?

項(xiàng)目中調(diào)用har包的導(dǎo)出接口,需要先用import方式導(dǎo)入

37dbc022-f09c-11ee-a297-92fbcf53809c.png ?

安裝在鴻蒙手機(jī)中,執(zhí)行下就可看到結(jié)果

37eb6c5c-f09c-11ee-a297-92fbcf53809c.png ?



審核編輯:劉清

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

    關(guān)注

    0

    文章

    5

    瀏覽量

    10923
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2130

    瀏覽量

    32459

原文標(biāo)題:鴻蒙(Harmony OS)中Native層的SDK詳細(xì)解析

文章出處:【微信號(hào):哆啦安全,微信公眾號(hào):哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    鴻蒙OS開(kāi)發(fā)實(shí)例:【Native C++】

    使用DevEco Studio創(chuàng)建一個(gè)Native C++應(yīng)用。應(yīng)用采用Native C++模板,實(shí)現(xiàn)使用NAPI調(diào)用C標(biāo)準(zhǔn)庫(kù)的功能。使用C標(biāo)準(zhǔn)庫(kù)hypot接口計(jì)算兩個(gè)給定數(shù)平方和的平方根。在輸入框輸入兩個(gè)數(shù)字,點(diǎn)擊計(jì)算結(jié)果按
    的頭像 發(fā)表于 04-14 11:43 ?3340次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b>開(kāi)發(fā)實(shí)例:【<b class='flag-5'>Native</b> C++】

    鴻蒙OS與Fuchsia OS的異同

    之外。在華為的PPT,華為聲稱(chēng)鴻蒙內(nèi)核的IPC性能是Fuchsia的5倍。這是相當(dāng)夸張的一個(gè)性能優(yōu)勢(shì)。至于華為是如何做到的,我是非常非常好奇的,期待華為開(kāi)源鴻蒙OS(星星眼)。架構(gòu)圖
    發(fā)表于 09-23 11:42

    跟阿斌一起學(xué)鴻蒙(4). 分布式Hello Harmony的N種寫(xiě)法

    Harmony。在鴻蒙OS,F(xiàn)A與FA的協(xié)作,有三種方式:* 啟動(dòng),即一個(gè)FA啟動(dòng)另一個(gè)FA這嚴(yán)格來(lái)說(shuō)并不算是一個(gè)協(xié)作,只是與別的操作系統(tǒng)類(lèi)似,
    發(fā)表于 12-07 14:36

    跟阿斌一起學(xué)鴻蒙(4). 分布式Hello Harmony的N種寫(xiě)法

    。FA/FA模式的Hello Harmony,就是我說(shuō)Hello, 你說(shuō)Harmony。在鴻蒙OS,F(xiàn)A與FA的協(xié)作,有三種方式:* 啟動(dòng)
    發(fā)表于 12-10 10:52

    跟阿斌一起學(xué)鴻蒙(4). 分布式Hello Harmony的N種寫(xiě)法

    Harmony。在鴻蒙OS,F(xiàn)A與FA的協(xié)作,有三種方式:* 啟動(dòng),即一個(gè)FA啟動(dòng)另一個(gè)FA這嚴(yán)格來(lái)說(shuō)并不算是一個(gè)協(xié)作,只是與別的操作系統(tǒng)類(lèi)似,
    發(fā)表于 12-10 14:59

    鴻蒙os系統(tǒng)是什么意思 鴻蒙os系統(tǒng)有什么作用

    毫秒級(jí)。鴻蒙OS實(shí)現(xiàn)模塊化耦合,對(duì)應(yīng)不同設(shè)備可彈性部署,鴻蒙OS有三架構(gòu),第一是內(nèi)核,第二
    發(fā)表于 12-17 11:34

    華為系統(tǒng)升級(jí)鴻蒙os

    出色,這也讓更多的花粉們期待鴻蒙OS系統(tǒng)正式版發(fā)布,而就在近日,華為官方再次對(duì)外推送了Harmony OS Beta3,并且在Bate 3系統(tǒng)版本中新增了很多重磅功能,到底都有哪些值得
    發(fā)表于 07-28 07:56

    華為鴻蒙Harmony使用WIFI/IP連接調(diào)試的步驟有哪些呢

    華為鴻蒙Harmony使用WIFI/IP連接調(diào)試1、先打開(kāi)SDK所在目錄,例如:D:\HarmonyOS\Sdk\toolchains,然后打開(kāi)powershell,如下圖2、輸入一下
    發(fā)表于 05-24 15:20

    鴻蒙OS優(yōu)于安卓 未來(lái)將開(kāi)源

    如約,在今天下午的HDC2019華為開(kāi)發(fā)者大會(huì)上,余承東正式發(fā)布了鴻蒙操作系統(tǒng)——Harmony OS,基于微內(nèi)核的全場(chǎng)景分布式OS
    的頭像 發(fā)表于 08-09 17:30 ?2422次閱讀

    鴻蒙OS正式發(fā)布 天生安全流暢

    HDC2019華為開(kāi)發(fā)者大會(huì)上,華為全新操作系統(tǒng)一一Harmony OS鴻蒙OS)正式發(fā)布,天然無(wú)root,從源頭提升系統(tǒng)安全,天生流暢。
    發(fā)表于 08-09 17:20 ?980次閱讀

    滴滴出行將支持Harmony OS2.0,余承東還宣布鴻蒙的開(kāi)源路標(biāo)

    據(jù)爆料,滴滴出行支持 Harmony OS2.0,并且鴻蒙手表里也支持滴滴 APP,用手表就能打車(chē)。
    的頭像 發(fā)表于 09-22 12:45 ?2466次閱讀

    harmony?os?2.0報(bào)名入口 如何報(bào)名harmonyos2.0報(bào)名?

    升級(jí),但是基本都是針對(duì)發(fā)布不久的新型旗艦,所以受眾面并不是很廣。 鴻蒙OS2.0開(kāi)啟第二輪公測(cè),我們可以發(fā)現(xiàn)不少的端機(jī)型,華為 Harmony O
    的頭像 發(fā)表于 06-08 12:10 ?5490次閱讀

    史上增長(zhǎng)最快的操作系統(tǒng)!Harmony OS設(shè)備接入量超過(guò)1.5億,鴻蒙3.0預(yù)覽版來(lái)了!鴻蒙生態(tài)圈已穩(wěn)!

    ,Harmony OS正式迭代了三次,特別是2021年9月份鴻蒙接入設(shè)備量超過(guò)1億,移動(dòng)操作系統(tǒng)市場(chǎng)格局逐漸被打破。鴻蒙生態(tài)的最新進(jìn)展如何?備受期待的
    的頭像 發(fā)表于 10-24 08:00 ?2006次閱讀

    Harmony OS網(wǎng)絡(luò)編程實(shí)驗(yàn)指南

    Harmony OS 網(wǎng)絡(luò)編程 實(shí)驗(yàn)指南,十分有用的入門(mén)實(shí)驗(yàn)指南。
    發(fā)表于 10-24 11:42 ?0次下載

    鴻蒙OS和開(kāi)源鴻蒙什么關(guān)系?

    內(nèi)核,其他功能都以模塊的形式存在。 ? ? 華為用的是鴻蒙OS 我們都知道,華為手機(jī)的鴻蒙OS是可以運(yùn)行安卓軟件的,是因?yàn)橄到y(tǒng)中有安卓兼容
    的頭像 發(fā)表于 01-30 15:44 ?1636次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b>和開(kāi)源<b class='flag-5'>鴻蒙</b>什么關(guān)系?

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品