1# NAPI框架生成工具集成测试 2 3## 简介 4 本文主要介绍如何将NAPI框架生成代码集成到OpenHarmony系统,进而进行集成测试。 5 6## 准备 7 8 1.硬件:rk3566开发套件。 9 10 2.系统镜像: 11 12 系统镜像的具体生成方法,可以左键单击以下链接了解: 13 14 [生成代码集成到OpenHarmony](https://gitee.com/openharmony/napi_generator/blob/master/docs/ENSEMBLE_METHOD_ZH.md) 15 16 3.应用hap包:hap包及源码路径如下: 17 18``` 19napi_generator/examples/app 20``` 21 22 hap包的具体生成方法,可参考OpenHarmony/docs/zh-cn/application-dev文档中使用ArkTS语言开发(Stage模型)。 23### 修改点1:扩展SDK接口 24 将@ohos.napitest.d.ts文件拷贝到sdk目录下的ets\api,SDK目录可在DevEco Studio <File> -> <Settings> -> <Sdks> 中查看。 25### 修改点2:增加新接口调用 26其中修改index.ets文件内容如下: 27 28 29``` 30 31 import hilog from '@ohos.hilog'; 32 import napitest from '@ohos.napitest'; 33 34 @Entry 35 @Component 36 struct Index { 37 @State message: string = 'Hello World' 38 39 build() { 40 Row() { 41 Column() { 42 Text(this.message) 43 .fontSize(50) 44 .fontWeight(FontWeight.Bold) 45 // 添加按钮,以响应用户点击 46 Button() { 47 Text('TEST') 48 .fontSize(30) 49 .fontWeight(FontWeight.Bold) 50 } 51 .type(ButtonType.Capsule) 52 .margin({ 53 top: 20 54 }) 55 .backgroundColor('#0D9FFB') 56 .width('40%') 57 .height('5%') 58 // 跳转按钮响应 59 .onClick(() => { 60 var out = napitest.func1("abcf"); 61 hilog.info(0x0000, 'testTag', '%{public}s', out+'AAAAAAAA napi testprint'); 62 }) 63 } 64 .width('100%') 65 } 66 .height('100%') 67 } 68 } 69``` 70 71 72 73## 使用说明 74 75步骤一:安装镜像环境。 76 77 harmony@Ubuntu-64:~/OpenHarmony/out/rk3568-khdvk/packages/phone/images/pack$ ll 78 总用量 3329884 79 drwxrwxr-x 2 harmony harmony 4096 9月 27 14:14 ./ 80 drwxrwxr-x 3 harmony harmony 4096 9月 27 15:30 ../ 81 -rw-rw-r-- 1 harmony harmony 3409787466 9月 27 14:14 RK3568-KHDVK-RAMDISK-GPT-20220929-1817.img 82 83步骤二:安装hap包。 84 85 Build Haps通过后,通过Run按钮将hap包安装到板子上。 86 87 执行完成后,设备中会出现安装的APP。 88 89步骤三:打印日志并验证结果。 90 91 hap包安装成功后,进入hdc shell,输入命令实时打印日志并输出至windows中。 92 93 .\hdc.exe hilog > log.txt 94 95 然后单击设备中安装的APP,进入APP后单击测试按钮,执行完成后会在hdc安装目录下出现log.txt文件。 96 97## 查看结果 98log.txt中包含“AAAAAAAA napi testprint testzzz”日志表示接口调用成功。如下所示: 99 100 01-01 08:10:55.571 2291 2311 D C01400/OHOS::ROSEN: RSSurfaceOhosGl: FlushFrame, SwapBuffers eglsurface is 0x2c21570 101 01-01 08:10:55.571 2291 2291 I A00000/testTag: AAAAAAAA napi testprint testzzz 102 103## 相关仓 104 105暂无 106