• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# dts2cpp使用文档
2
3## 环境
4
5DevEco Studio: Build Version: 4.1.0.400, built on April 9, 2024
6
7## 创建工程
8
91.打开 DevEco Studio:
10
11选择Create Project -> Application -> Native C++ ,然后点击Next,将Project name修改为dts2cppTest,点击Finish,则工程创建成功。
12
13![](../images/dts2cppTest_create_new_project.png)
14
15![](../images/dts2cppTest_create_new_project_finish.png)
16
172.修改编译选项:在dts2cppTest/entry/build-profile.json5文件中buildOption/externalNativeOptions中增加abiFilters字段, 并将targets字段的runtimeOS改为OpenHarmony
18
19```
20"abiFilters": [
21        "arm64-v8a",
22        "armeabi-v7a"
23]
24```
25
26```
27"runtimeOS": "OpenHarmony"
28```
29
30![](../images/dts2cppTest_add_buildOption.png)
31
32## 测试生成物
33
341.将生成文件拷贝至工程相应路径下
35
361.1将生成目录下的cpp目录下的所有文件拷贝到工程目录dts2cppTest/entry/src/main/cpp目录下,并将所有cpp文件加入编译选项,在target_link_libraries中加入hilog:
37
38```
39libhilog_ndk.z.so
40```
41
42修改后的CMakeLists.txt文件如下所示:
43
44![](../images/dts2cppTest_project_cmakelist.png)
45
461.2将生成目录下的ets目录下的ets文件(testdtsAbility.test.ets)拷贝到工程目录dts2cppTest/entry/src/ohosTest/ets/test目录下,
47
48dts2cppTest/entry/src/ohosTest/ets/test/List.test.ets中导入testdtsAbility.test.ets:
49
50```
51import abilityTest from './Ability.test';
52import testdtsabilityTest from './testdtsAbility.test';
53
54export default function testsuite() {
55  abilityTest();
56  testdtsabilityTest();
57}
58```
59
60![](../images/dts2cppTest_testList.png)
61
621.3将转换的dts文件 (testdts.d.ts) 中所有内容拷贝到 dts2cppTest/entry/src/main/cpp/types/libentry/index.d.ts中(不覆盖原有内容)。
63
642.确认生成物是否能编译
65
662.1对工程签名:File->Project Structure ->Project -> Signing Configs
67
68![](../images/dts2cppTest_Sign_configs.png)
69
702.2运行dts2cppTest/entry/src/ohosTest/ets/test/testdtsAbility.test.ets中的测试集testdtsActsAbilityTest,用例成功运行,并打印出相关log。
71
72![](../images/dts2cppTest_runtest.png)
73
74![](../images/dts2cppTest_success.png)
75
76例如:方法testFunc打印出默认对象值:
77
78![](../images/dts2cppTest_successLog.png)
79
80