精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Napi_generator(一)—NAPI框架生成工具介

系統 OpenHarmony
在學習NAPI框架的過程中,偶然間在源碼下napi_generator目錄發現這么一款好用的工具,簡直是南向開發者的福音,通過NAPI框架生成工具,使用者可輸入一個接口定義的ts文件,一鍵生成NAPI框架代碼、業務代碼框架、GN腳本等文件,并使用生成的NAPI接口及功能。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

前言

對于南向設備開發者進行OpenHarmony 標準系統應用開發來說,在進行設備開發的過程中,難免要與北向應用層打交道,為北向應用開發提供一些硬件控制的接口,這是就需南向開發者學習OpenHarmony提供的NAPI機制,而這又需要開發者了解JS/eTS的一些知識,關注Nodejs語法、C++與JS之間的數據類型轉換等上層應用轉換邏輯,通過了這幾天的學習也發現學習和使用NAPI確實要耗費挺大的精力。
在學習NAPI框架的過程中,偶然間在源碼下napi_generator目錄發現這么一款好用的工具,簡直是南向開發者的福音,通過NAPI框架生成工具,使用者可輸入一個接口定義的ts文件,一鍵生成NAPI框架代碼、業務代碼框架、GN腳本等文件,并使用生成的NAPI接口及功能。使用者也可以輸入一個定義方法的.h頭文件,反向生成ts文件。這讓開發者只關注底層業務邏輯即可,專業的人做專業的事,從而可以大大提高開發效率,下面先介紹一下這款工具的安裝和使用教程。

#創作者激勵# [FFH]napi_generator(一)——NAPI框架生成工具介紹-開源基礎軟件社區

參考資料

本工具由深開鴻公司開發,這里也感謝將這么一款好用的工具開源,本篇對于工具的詳細使用,也大多出自文檔,可以參考napi_generator倉庫:
??NAPI框架生成工具使用說明——作者:深圳開鴻數字產業發展有限公司??對于NAPI機制,已經有許多博主介紹得很詳細了,不懂的童鞋可以先了解下:
NAPI組件倉庫
基于OpenHarmony Native Api框架實現控制LED燈亮滅
三方庫移植之NAPI開發[1]—Hello OpenHarmony NAPI
OpenHarmony 源碼解析之JavaScript API框架(NAPI)
標準設備應用開發—Native Api-開源基礎軟件社區-51CTO.COM

使用環境

  • OpenHarmony-3.2-Beta5
  • 九聯UnionPi-Tiger開發板
  • Visual Studio Code(版本需1.62.0及以上)

工具簡介及下載

NAPI框架代碼生成工具,它可以根據用戶指定路徑下的ts(typescript)接口文件一鍵生成NAPI框架代碼、業務代碼框架、GN文件等。NAPI框架生成工具支持三種入口,分別是可執行程序、VS Code插件、IntelliJ插件,使用者可以根據自己的需要選擇合適的工具,本人IntelliJ插件沒嘗試過,主要介紹一下可執行程序以及VS code 插件的使用,這兩者也會比較常用一點。
可執行文件、IntelliJ插件、VS Code插件下載路徑如下:
http://ftp.kaihong.com:5000/fsdownload/PC6uOorrM/NAPI。

下載文件說明:

      |── generator.jar           # IntelliJ插件
|── gnapi-0.0.1.vsix # VS Code插件
|── napi_generator-linux # Linux可執行程序
|── napi_generator-win.exe # Windows可執行程序
└── napi_generator-macos # Mac可執行程序

使用方法

一、預檢查

napi_generator的可執行程序方式和插件方式都具有預檢查的功能,如果.d.ts文件中存在語法錯誤,那么執行的時候命令行會打印出錯誤信息,指出代碼中存在錯誤的行號。使用效果如下:

joey@joey-virtual-machine:~/code/napi_test$ ./napi_generator-linux -f @ohos.napitest.d.ts
@ohos.napitest.d.ts (33,12): Identifier expected.
@ohos.napitest.d.ts (33,13): ';' expected.
@ohos.napitest.d.ts (33,13): An identifier or keyword cannot immediately follow a numeric literal.
@ohos.napitest.d.ts (33,13): Cannot find name 'shutdownDevice'.
@ohos.napitest.d.ts (33,28): Cannot find name 'reason'.
@ohos.napitest.d.ts (33,34): ',' expected.
@ohos.napitest.d.ts (33,36): 'string' only refers to a type, but is being used as a value here.
@ohos.napitest.d.ts (33,43): ';' expected.
@ohos.napitest.d.ts (33,49): Expression expected.

joey@joey-virtual-machine:~/code/napi_test$

二、生成框架

通過可執行程序生成(Linux環境下)

  1. 首先準備待轉換的.d.ts文件,這里選擇napi_generator/examples/ts下的@ohos.napitest.d.ts文件進行測試。若.d.ts文件中聲明了basic.d.ts文件,將basic.d.ts文件放置在待轉換.d.ts文件上一級目錄;若除此之外還聲明其它.d.ts文件,將此類文件放置在待轉換.d.ts文件同級目錄。
    此處在example下新建out文件夾,用于存放生成框架代碼。
cd napi_generator/examples/ts
mkdir ../out
  1. 運行napi_generator-linux,命令如下(~/tools/napi_generator-linux根據自己的下載位置更改):
~/tools/napi_generator-linux -f @ohos.napitest.d.ts -o ../out -i false -n int

其中,參數詳情如下: -f, 待轉換的.d.ts文件,若同時轉換多個文件,文件之間用“,”隔開; -d, 根據指定路徑轉換該文件夾中所有.d.ts文件; -i, 可選參數,默認false,待轉換.d.ts文件中引用非basic.d.ts的ts文件時打開開關; -o, 可選參數,默認為當前目錄,指定生成框架代碼輸出路徑; -n, 可選參數,默認為uint32_t,指定生成框架代碼中number類型全部為指定類型。
備注:-f與-d兩個參數只選其中一個參數即可。

  1. 運行成功后會在out目錄下生成框架代碼文件,如下所示:

Windows 上的方法與Linux上的類似,可以自行參考倉庫教程進行嘗試。

通過VS code插件生成

打開VS code,在左側邊欄中選擇插件,點擊右上角的三個小圓點,選擇從VISI安裝,注意如果代碼在遠程服務器的話要將插件文件下載到服務器上,選擇在服務器進行安裝。

選擇剛才下載的gnapi-0.0.1.vsix插件文件,再單擊確定進行安裝。

安裝完成后就會在VS Code的插件管理器中能看到gnapi這個插件了。

選擇需要轉換的.d.ts文件,若.d.ts文件中聲明了basic.d.ts文件,將basic.d.ts文件放置在待轉換.d.ts文件上一級目錄;若除此之外還聲明其它.d.ts文件,將此類文件放置在待轉換.d.ts文件同級目錄。例如napi_generator下的一個exampl,位于napi_generator/examples/ts/@ohos.napitest.d.ts下,右鍵文件選擇Generate Napi Frame。

工具彈出Generate Napi Frame彈窗,選擇Napi-Gen頁簽。接口文件文本框填寫.d.ts文件路徑;生成框架路徑文本框填寫生成框架存放路徑(這里我在example下新建了out目錄);編譯腳本路徑默認填寫;number目的類型此處選擇float,表示指定生成框架代碼中number類型全部為float類型。;啟用import功能不選擇(待轉換.d.ts文件未引用其它文件);點擊ok。

執行結束后會在out目錄下生成框架代碼文件。

三、生成文件總結

  • napitest.cpp:生成的napitest.cpp文件中的接口即為.d.ts文件中定義的接口,開發者只需要使用C/C++實現對于的接口功能即可。
  • BUILD.gn: GN腳本,需要注意一點就是生成的BUILD.gn文件中的ace_napi路徑位置可能不準確,需根據自己的OpenHarmony進行修改,以及所屬子系統,組件等,根據自己需要進行配置。
  • napitest_middle,tool_utility :NAPI中間文件,包括NAPI模塊定義,模塊注冊,接口工具都存放在里面。
  • napi_gen.log: 生成過程日志、

后記

本篇簡單介紹了一下工具的安裝和使用,后面一篇文章將會用實例進行演示。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2023-03-14 21:29:26

MysubsysNAPI框架

2024-01-03 15:41:49

2023-04-04 09:15:10

NAPI 框架鴻蒙

2021-09-16 15:08:08

鴻蒙HarmonyOS應用

2022-10-11 15:04:28

NAPI開發鴻蒙

2022-07-19 20:04:31

NAPI模塊鴻蒙

2022-10-25 15:05:17

NAPI開發鴻蒙

2023-06-12 08:00:48

Napi-rsRust 前端工具

2023-04-26 15:29:35

NAPI模塊鴻蒙

2021-05-06 10:33:30

C++Napiv8

2021-12-08 15:07:51

鴻蒙HarmonyOS應用

2022-10-09 15:05:50

NAPI框架鴻蒙

2022-03-03 08:30:41

GeneratorES6函數

2021-12-06 06:19:03

鴻蒙HarmonyOS應用

2023-03-24 14:47:24

NAPI框架HDF框架

2022-05-12 14:42:17

項目開發Napi實現

2023-03-16 15:29:57

鴻蒙工具

2023-03-22 09:23:53

I2C總線溫度傳感器

2021-06-06 08:30:29

N-APIPromiseAPI

2021-04-22 21:15:38

Generator函數生成器
點贊
收藏

51CTO技術棧公眾號

亚洲国产福利视频| 国产高清视频免费在线观看| 正在播放日韩精品| 日本一区二区三级电影在线观看 | 欧美亚洲另类在线一区二区三区| 久久久蜜桃一区二区| 波多野结衣在线播放一区| 欧美精品亚洲二区| 妞干网在线视频观看| 国产亚洲依依| 国产精品1024| 国产成人精品综合| 欧美人妻一区二区| 国产传媒欧美日韩成人精品大片| 欧美美女一区二区| 福利视频一二区| 午夜视频成人| 91日韩精品一区| 国产成人激情视频| 久久久精品99| 日韩av二区| 亚洲精品suv精品一区二区| 亚洲欧美在线精品| 美女扒开腿让男人桶爽久久软| 国产精品久久久久影院老司| 狠狠综合久久av| jizz中国少妇| 蜜臀a∨国产成人精品| 97在线观看视频国产| 四虎永久免费地址| 国产欧美日韩精品一区二区免费| 日韩三级视频在线看| 日韩肉感妇bbwbbwbbw| 国产美女高潮在线观看| 一级做a爱片久久| 亚洲免费在线精品一区| 日本亚洲一区| 99精品国产视频| 成人免费看片网站| 91麻豆国产视频| 免费成人av在线| 欧美做受高潮电影o| 免费麻豆国产一区二区三区四区| 欧美亚洲在线日韩| 日韩av中文字幕在线免费观看| 女人扒开腿免费视频app| 国产原创一区| 欧美日本国产一区| 五月婷婷狠狠操| 日韩伦理三区| 色哟哟欧美精品| 日韩欧美精品在线观看视频| 黄色视屏在线免费观看| 亚洲午夜在线视频| 中文精品无码中文字幕无码专区 | 久久免费在线观看| 免费在线观看日韩| 国产精品av一区二区| 欧美丰满少妇xxxxx| 国产精品成人免费观看| 欧美在线国产| 欧美激情精品久久久久久久变态| 精品99在线观看| 国产一区亚洲| 91精品国产91久久久久久最新| 欧美福利视频一区二区| 亚洲精品影视| 国产成人精品在线观看| 中文有码在线播放| 国产在线精品一区二区夜色| 91情侣偷在线精品国产| av网站免费播放| 成人免费毛片片v| 国产综合欧美在线看| 亚洲aaa在线观看| 久久精品夜色噜噜亚洲aⅴ| 日本中文不卡| 精品麻豆一区二区三区| 一区二区三区免费观看| 青青草原国产免费| 久久香蕉av| 欧美性猛交xxxx乱大交3| 欧美精品性生活| 国产一区二区三区免费观看在线| 精品免费国产一区二区三区四区| 丰满人妻一区二区三区免费视频棣| 北条麻妃一区二区三区在线| 亚洲乱码国产乱码精品精| 亚洲综合第一区| 欧美色123| 欧美在线影院在线视频| 亚洲最新av网站| 国产成人亚洲综合色影视| 久久爱av电影| 老司机午夜在线| 午夜精品aaa| 久久婷婷综合色| 亚洲性视频在线| 亚洲人成电影网站色…| www.av免费| 亚洲激情在线| 成人激情视频在线播放| 天天操天天干天天| 国产精品三级在线观看| 国产 日韩 亚洲 欧美| 97欧美成人| 亚洲韩国日本中文字幕| 天天操天天摸天天舔| 亚洲激情一区| 亚洲xxxx视频| 超碰免费在线观看| 亚洲国产成人精品视频| 182午夜在线观看| 欧美爱爱网站| 色与欲影视天天看综合网| 黄色av网站免费| 成人免费高清视频| 国产又粗又硬又长| 性欧美gay| 日韩国产欧美精品在线| 欧美成人免费观看视频 | 亚洲成人在线网站| 最新天堂中文在线| 蜜臀av免费一区二区三区| 欧美高清第一页| 亚洲图片小说视频| 久久久久久久久久久黄色| 国产精品国产对白熟妇| 中文字幕成人| 这里精品视频免费| 中文字幕一区在线播放| 成人天堂资源www在线| 日本黄色播放器| 成人黄色毛片| 亚洲性xxxx| 男人日女人网站| 成人avav影音| 福利视频一区二区三区四区| 久久视频免费| 久久视频这里只有精品| 亚洲午夜激情视频| 国产精品日韩成人| 国产天堂在线播放| 国产91久久精品一区二区| 欧美亚洲一级片| 日韩在线免费播放| 精品久久久国产精品999| 欧美xxxxx少妇| 一区精品久久| 国产一区二区不卡视频在线观看| 免费在线中文字幕| 精品国产亚洲一区二区三区在线观看| 免费人成年激情视频在线观看| 国产精品一区二区免费不卡| www国产无套内射com| 亚洲3区在线| 久久久天堂国产精品女人| 午夜精品久久久久久久99| 亚洲精品一二三区| 免费黄视频在线观看| 欧美黄在线观看| 俄罗斯精品一区二区| 国内在线视频| 国产视频自拍一区| 在线永久看片免费的视频| 久久久亚洲综合| 午夜免费精品视频| 97精品一区| 91网免费观看| 性欧美18xxxhd| 国产亚洲精品va在线观看| 中文字幕在线观看你懂的| 中文字幕中文乱码欧美一区二区| 国产农村妇女精品久久| 国产精品www994| 免费在线观看一区二区| jvid一区二区三区| 久久久久北条麻妃免费看| 男人的天堂a在线| 色国产综合视频| 中文字幕观看av| 成人午夜av影视| 国产免费视频传媒| 久久人人88| 国产伦理一区二区三区| 欧美大片免费观看网址| 日韩中文字幕在线精品| 亚洲av无码乱码国产精品久久| 亚洲不卡av一区二区三区| 国产一区二区三区四区五区六区| 国产又黄又大久久| 日批视频在线免费看| 香蕉视频官网在线观看日本一区二区| 国产成人看片| 亚洲成人va| 欧美极度另类性三渗透| 国产有码在线| 日韩一区二区精品葵司在线| 中文字幕亚洲乱码熟女1区2区| 国产精品色在线观看| 午夜影院福利社| 奇米色一区二区| 成人网站免费观看入口| 日韩电影二区| 久久福利电影| 精品视频国内| 国产成人一区二区三区小说| 在线三级电影| 伊人青青综合网站| 手机看片福利永久| 91.麻豆视频| 91porny九色| 亚洲v中文字幕| 日韩一级片大全| 26uuu精品一区二区 | 成人黄色777网| 涩涩网站在线看| 日韩国产欧美三级| 国产91xxx| 午夜激情一区| 艳母动漫在线免费观看| 精品久久久亚洲| 久久国产手机看片| 北条麻妃一区二区三区在线观看 | 欧美 日韩 国产 精品| 欧美人与z0zoxxxx视频| 91黑人精品一区二区三区| 亚洲电影中文字幕在线观看| 国产极品国产极品| 国产精品全国免费观看高清| 精品少妇一区二区三区免费观| 成人免费看黄yyy456| 日本人dh亚洲人ⅹxx| 国产主播一区二区三区| 最新天堂在线视频| 日韩精品电影在线观看| 国产真实乱子伦| 中文亚洲欧美| 精品中文字幕av| 亚洲欧美清纯在线制服| 乱妇乱女熟妇熟女网站| 夜久久久久久| 久久国产成人精品国产成人亚洲 | 91成人在线播放| 菠萝蜜视频在线观看www入口| 美女性感视频久久久| 黄色网址在线免费播放| 久久深夜福利免费观看| 黄网站免费在线播放| 久久影视免费观看 | 欧美精品羞羞答答| 欧美少妇一区| 欧美一二区在线观看| 丝袜足脚交91精品| 日韩高清欧美| 中文字幕一区二区三区四区五区| 国产精品99久久| 强开小嫩苞一区二区三区网站| 欧美福利网址| 国精产品一区一区三区视频| 国产麻豆综合| 91视频免费版污| 激情综合亚洲精品| 免费高清视频在线观看| 成人中文字幕合集| av鲁丝一区鲁丝二区鲁丝三区| 99国产一区二区三精品乱码| 精品人妻无码一区二区三区换脸| 欧美极品aⅴ影院| 看免费黄色录像| 一区二区三区日韩欧美| 亚州国产精品视频| 欧美性黄网官网| 亚洲综合网av| 亚洲国产成人精品久久| 黄网在线免费| 久久伊人精品一区二区三区| 国产黄大片在线观看| 青青a在线精品免费观看| 精品亚洲a∨| 成人动漫在线视频| 嫩草影视亚洲| 欧美爱爱视频网站| 日韩一级精品| 天天干天天操天天做| 国产v综合v亚洲欧| 亚洲精品国产91| 亚洲激情欧美激情| 欧美h在线观看| 日韩欧美一区在线观看| 青青青手机在线视频观看| 久久久av亚洲男天堂| 亚洲十八**毛片| 亚洲mm色国产网站| 亚洲色图丝袜| 一二三在线视频| 日本成人在线电影网| 无码人妻一区二区三区免费n鬼沢| 久久久久久夜精品精品免费| 国产av 一区二区三区| 色妹子一区二区| 亚洲成人黄色片| 最近更新的2019中文字幕| www中文字幕在线观看| 国产一区二区香蕉| 日韩伦理一区二区三区| 穿情趣内衣被c到高潮视频| 视频一区二区三区入口| 日本天堂在线播放| 国产精品久久久久久久浪潮网站| 国偷自拍第113页| 日韩网站在线看片你懂的| caoporn国产精品免费视频| 91国产在线精品| 清纯唯美激情亚洲| 日韩精品久久一区二区三区| 一区二区福利| 国偷自产av一区二区三区麻豆| 国产精品蜜臀在线观看| 国产三级精品三级在线观看| 亚洲国产成人在线播放| av免费网站在线观看| 91精品国产综合久久久久久蜜臀| 免费av一区二区三区四区| 成人性免费视频| 国产成人亚洲综合a∨猫咪| 三级黄色在线观看| 欧洲av一区二区嗯嗯嗯啊| 免费理论片在线观看播放老| 国内外成人免费激情在线视频网站| 色悠久久久久综合先锋影音下载| 亚洲欧洲日韩精品| 日产欧产美韩系列久久99| 99久久久无码国产精品性| 精品国产户外野外| 色一情一乱一乱一区91av| 久久久噜久噜久久综合| 2020最新国产精品| 热久久最新地址| 国产精品 欧美精品| 美国黄色小视频| 日韩欧美一区电影| 日本在线视频www鲁啊鲁| 97久草视频| 亚洲激情影院| 国产国语性生话播放| 色综合久久中文综合久久97| 五月天丁香视频| 2019精品视频| 自拍偷拍精品| 男女啪啪网站视频| 国产欧美日韩久久| 伊人免费在线观看| xxxx性欧美| 涩涩屋成人免费视频软件| 18黄暴禁片在线观看| 99r国产精品| 中文字幕国产在线观看| 国产午夜一区二区| 久久三级毛片| 国产资源第一页| 成人高清视频免费观看| 天堂а√在线中文在线新版| 亚洲人在线视频| 日本免费一区二区三区等视频| 在线电影看在线一区二区三区| 国产在线观看免费一区| 中文字幕第28页| 亚洲天堂免费视频| 日韩欧美三区| 欧洲精品在线播放| 久久色.com| 国产精品色综合| 久久全球大尺度高清视频| 一区二区三区日本久久久| 天天操,天天操| 亚洲国产毛片aaaaa无费看 | 欧美大片网站在线观看| 免费看久久久| 免费一区二区三区在线观看| 一区二区三区欧美在线观看| 奇米影视888狠狠狠777不卡| 国产精品久久一| 黄色精品免费| 极品久久久久久久| 日韩精品在线一区| 精品国产免费人成网站| 中文字幕中文字幕一区三区| 国产91丝袜在线播放0| 亚洲男人天堂网址| 人人鲁人人莫人人爱精品| 久久大片网站| 久久99国产精品久久| 国产大片aaa| 日韩在线免费观看视频| 久久丝袜视频| 欧美一级特黄aaa| 色婷婷综合久久久中文一区二区| dj大片免费在线观看| 免费av在线一区二区|