• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# scan工具使用说明
2## 简介
3
4scan工具,即API扫描工具,支持两种入口,分别是可执行程序、VS Code插件,使用者可以根据自己的需要选择合适的工具。
5
6## 工具介绍
7
8通过API扫描工具,开发者可以扫描输出三方库中存在,而OpenHarmony源码中不存在的风险接口,移植之前预知风险,降低移植难度,提高开发效率。
9
10![](https://gitee.com/openharmony/napi_generator/raw/master/src/tool/api/figures/pic-api-frm.png)
11
12## 生成result文件
13
14### 准备
15
16可执行程序打包步骤如下:
17
18[工具开发说明](https://gitee.com/openharmony/napi_generator/blob/master/src/tool/api/docs/scan_DEVELOP_ZH.md)
19
20### 可执行程序使用方法
21
22#### Linux
231、Ubuntu中存在将要扫描的三方库源码,如下所示:
24
25	Openharmony@Ubuntu-64:~/service$ ls /home/harmony/linshi/
26	opencv
27
282、将打包的search-linux可执行程序放置任意路径下,如下所示:
29
30	Openharmony@Ubuntu-64:~/service$ ls
31	search-linux
32
333、进入到search-linux可执行程序路径下,并执行可执行程序,执行命令如下:
34
35	Openharmony@Ubuntu-64:~/service$ ./search-linux -d /home/linshi/opencv/ -o ./
36
37其中,参数详情如下:
38	-d, 被扫描项目的路径;
39	-o, 可选参数,默认为当前路径下,输出结果存放路径。
40
414、运行成功后会在当前目录下生成result.xlsx文件:
42
43	Openharmony@Ubuntu-64:~/service$ ls
44	result.xlsx  search-linux
45
46并在屏幕上打出风险接口名称:
47
48```
49{
50  function: Set(70) {
51    'AndroidBitmap_getInfo',
52    ......
53    'ANativeWindow_release'
54  },
55  include: Set(3) { 'bitmap.h', 'input.h', 'log.h' }
56}
57```
58
59#### Windows
60
611、E:\workspace\杂七杂八\service\目录下存在将要扫描的项目opencv。
62
632、将下载的search-win.exe可执行程序放置任意路径下,如下所示:
64
65	E:\demo\api>dir /B
66	search-win.exe
67
683、进入search-win.exe可执行程序路径下,并执行可执行程序,执行过程如下:
69
70	E:\demo\api>search-win.exe -d E:\workspace\service\opencv -o ./
71
72其中,参数详情如下:
73	-d, 被扫描项目的路径
74	-o, 可选参数,默认为当前路径下,输出结果存放路径。
75
764、运行成功后会在当前目录下生成result.xlsx文件:
77
78	E:\demo\api>dir /B
79	result.xlsx
80	search-win.exe
81
82并在屏幕上打出风险接口名称:
83
84```
85{
86  function: Set(70) {
87    'AndroidBitmap_getInfo',
88    ......
89    'ANativeWindow_release'
90  },
91  include: Set(3) { 'bitmap.h', 'input.h', 'log.h' }
92}
93```
94
95#### Mac
96
97方法步骤参考windows、Linux的使用方法。
98
99### VS Code插件使用方法
100
101具体的插件使用步骤,可以左键单击以下链接了解:
102
103[VS插件开发说明](https://gitee.com/openharmony/napi_generator/blob/master/src/tool/api/api_scan_vs_plugin/docs/INSTRUCTION_ZH.md)
104
105