From 103a2d088926de032ac039a7981f7f033af97cd4 Mon Sep 17 00:00:00 2001 From: Ryan <865833921@qq.com> Date: Thu, 31 Oct 2024 16:28:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AppScope/app.json5 | 10 + AppScope/resources/base/element/string.json | 8 + AppScope/resources/base/media/app_icon.png | Bin 0 -> 2777 bytes README.en.md | 36 ---- README.md | 108 ++++++++--- build-profile.json5 | 58 ++++++ code-linter.json5 | 20 ++ entry/build-profile.json5 | 40 ++++ entry/hvigorfile.ts | 6 + entry/oh-package.json5 | 13 ++ entry/src/main/cpp/CMakeLists.txt | 15 ++ entry/src/main/cpp/napi_init.cpp | 174 ++++++++++++++++++ entry/src/main/cpp/types/libentry/Index.d.ts | 5 + .../main/cpp/types/libentry/oh-package.json5 | 6 + .../main/ets/entryability/EntryAbility.ets | 42 +++++ .../entrybackupability/EntryBackupAbility.ets | 12 ++ entry/src/main/ets/pages/Index.ets | 89 +++++++++ entry/src/main/module.json5 | 52 ++++++ .../main/resources/base/element/color.json | 8 + .../main/resources/base/element/string.json | 40 ++++ .../main/resources/base/media/background.png | Bin 0 -> 57364 bytes .../main/resources/base/media/foreground.png | Bin 0 -> 12430 bytes .../resources/base/media/layered_image.json | 7 + .../main/resources/base/media/startIcon.png | Bin 0 -> 20093 bytes .../resources/base/profile/backup_config.json | 3 + .../resources/base/profile/main_pages.json | 5 + .../main/resources/en_US/element/string.json | 40 ++++ .../main/resources/zh_CN/element/string.json | 40 ++++ hvigor/hvigor-config.json5 | 22 +++ hvigorfile.ts | 6 + oh-package.json5 | 8 + screenshots/device/nativeCall.png | Bin 0 -> 71396 bytes screenshots/device/nativeCall_cn.png | Bin 0 -> 76091 bytes sharedModule/Index.ets | 1 + sharedModule/build-profile.json5 | 43 +++++ sharedModule/hvigorfile.ts | 6 + sharedModule/oh-package.json5 | 12 ++ sharedModule/src/main/cpp/CMakeLists.txt | 15 ++ sharedModule/src/main/cpp/napi_hsp.cpp | 46 +++++ sharedModule/src/main/cpp/napi_hsp.h | 23 +++ sharedModule/src/main/cpp/napi_init.cpp | 68 +++++++ .../src/main/cpp/types/libhsp/Index.d.ts | 1 + .../main/cpp/types/libhsp/oh-package.json5 | 6 + sharedModule/src/main/ets/pages/Index.ets | 38 ++++ sharedModule/src/main/ets/utils/Calc.ets | 18 ++ sharedModule/src/main/module.json5 | 14 ++ .../main/resources/base/element/string.json | 8 + .../resources/base/profile/main_pages.json | 5 + staticModule/Index.ets | 1 + staticModule/build-profile.json5 | 53 ++++++ staticModule/consumer-rules.txt | 0 staticModule/hvigorfile.ts | 6 + staticModule/oh-package.json5 | 11 ++ staticModule/src/main/cpp/CMakeLists.txt | 15 ++ staticModule/src/main/cpp/napi_har.cpp | 45 +++++ staticModule/src/main/cpp/napi_har.h | 23 +++ staticModule/src/main/cpp/napi_init.cpp | 67 +++++++ .../src/main/cpp/types/liblibrary/Index.d.ts | 1 + .../cpp/types/liblibrary/oh-package.json5 | 6 + .../src/main/ets/components/MainPage.ets | 36 ++++ staticModule/src/main/ets/utils/Util.ets | 17 ++ staticModule/src/main/module.json5 | 11 ++ .../main/resources/base/element/string.json | 8 + .../main/resources/en_US/element/string.json | 8 + .../main/resources/zh_CN/element/string.json | 8 + 65 files changed, 1430 insertions(+), 63 deletions(-) create mode 100644 AppScope/app.json5 create mode 100644 AppScope/resources/base/element/string.json create mode 100644 AppScope/resources/base/media/app_icon.png delete mode 100644 README.en.md create mode 100644 build-profile.json5 create mode 100644 code-linter.json5 create mode 100644 entry/build-profile.json5 create mode 100644 entry/hvigorfile.ts create mode 100644 entry/oh-package.json5 create mode 100644 entry/src/main/cpp/CMakeLists.txt create mode 100644 entry/src/main/cpp/napi_init.cpp create mode 100644 entry/src/main/cpp/types/libentry/Index.d.ts create mode 100644 entry/src/main/cpp/types/libentry/oh-package.json5 create mode 100644 entry/src/main/ets/entryability/EntryAbility.ets create mode 100644 entry/src/main/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 entry/src/main/ets/pages/Index.ets create mode 100644 entry/src/main/module.json5 create mode 100644 entry/src/main/resources/base/element/color.json create mode 100644 entry/src/main/resources/base/element/string.json create mode 100644 entry/src/main/resources/base/media/background.png create mode 100644 entry/src/main/resources/base/media/foreground.png create mode 100644 entry/src/main/resources/base/media/layered_image.json create mode 100644 entry/src/main/resources/base/media/startIcon.png create mode 100644 entry/src/main/resources/base/profile/backup_config.json create mode 100644 entry/src/main/resources/base/profile/main_pages.json create mode 100644 entry/src/main/resources/en_US/element/string.json create mode 100644 entry/src/main/resources/zh_CN/element/string.json create mode 100644 hvigor/hvigor-config.json5 create mode 100644 hvigorfile.ts create mode 100644 oh-package.json5 create mode 100644 screenshots/device/nativeCall.png create mode 100644 screenshots/device/nativeCall_cn.png create mode 100644 sharedModule/Index.ets create mode 100644 sharedModule/build-profile.json5 create mode 100644 sharedModule/hvigorfile.ts create mode 100644 sharedModule/oh-package.json5 create mode 100644 sharedModule/src/main/cpp/CMakeLists.txt create mode 100644 sharedModule/src/main/cpp/napi_hsp.cpp create mode 100644 sharedModule/src/main/cpp/napi_hsp.h create mode 100644 sharedModule/src/main/cpp/napi_init.cpp create mode 100644 sharedModule/src/main/cpp/types/libhsp/Index.d.ts create mode 100644 sharedModule/src/main/cpp/types/libhsp/oh-package.json5 create mode 100644 sharedModule/src/main/ets/pages/Index.ets create mode 100644 sharedModule/src/main/ets/utils/Calc.ets create mode 100644 sharedModule/src/main/module.json5 create mode 100644 sharedModule/src/main/resources/base/element/string.json create mode 100644 sharedModule/src/main/resources/base/profile/main_pages.json create mode 100644 staticModule/Index.ets create mode 100644 staticModule/build-profile.json5 create mode 100644 staticModule/consumer-rules.txt create mode 100644 staticModule/hvigorfile.ts create mode 100644 staticModule/oh-package.json5 create mode 100644 staticModule/src/main/cpp/CMakeLists.txt create mode 100644 staticModule/src/main/cpp/napi_har.cpp create mode 100644 staticModule/src/main/cpp/napi_har.h create mode 100644 staticModule/src/main/cpp/napi_init.cpp create mode 100644 staticModule/src/main/cpp/types/liblibrary/Index.d.ts create mode 100644 staticModule/src/main/cpp/types/liblibrary/oh-package.json5 create mode 100644 staticModule/src/main/ets/components/MainPage.ets create mode 100644 staticModule/src/main/ets/utils/Util.ets create mode 100644 staticModule/src/main/module.json5 create mode 100644 staticModule/src/main/resources/base/element/string.json create mode 100644 staticModule/src/main/resources/en_US/element/string.json create mode 100644 staticModule/src/main/resources/zh_CN/element/string.json diff --git a/AppScope/app.json5 b/AppScope/app.json5 new file mode 100644 index 0000000..caa51bd --- /dev/null +++ b/AppScope/app.json5 @@ -0,0 +1,10 @@ +{ + "app": { + "bundleName": "com.example.crossmodulereference", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/AppScope/resources/base/element/string.json b/AppScope/resources/base/element/string.json new file mode 100644 index 0000000..9d24880 --- /dev/null +++ b/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "CrossModuleReference" + } + ] +} diff --git a/AppScope/resources/base/media/app_icon.png b/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a39445dc87828b76fed6d2ec470dd455c45319e3 GIT binary patch literal 2777 zcmV;~3MTc5P)9*YHQQH znh@I(s7WDIN`nJ+5@|<)iZcg=qN74U#DNnD1Se7u4fs(|1ivr?9ayP|B3iYCD$mfQ zCQ{S1n2)}^yxe#1J=_0pt-a1UPwQ^Z*?X_`Uu*sM+8<}X+baE^a`3seUF}?bEaiMO zrD`Qrd5@qw^epHZ>Df|p-qKBUEB%*?!m0{PHC6j|RplEgR~PkM5a^}N)Sfwi>W;Uz zdhwo_4HXBU%kRl^w@&7iKPx$e-n9%#IU!&oMI~iNsw0n19qSX;dS>I`G_G=WdcN9r z;_Rtv9XC<7kbL+HHxJ782T~pg05t)tf^>2vNJqfYt{YmqQDoBxkv+ra*BxxhcuK2v zm5%@Y)biQz)R8O%e=o%n${;ojY;EUP>`Qj6Cq)7GHm)C%2%^+hI;Z4T#a|oKIvshv z5H%!I+|I4PEXaXj04%ybsVolr%vhKnW7AEhC?eP!o1{y;8m2R#;}{6VZPc!+)ou0C zVWz$|1#2(|L5z%EYRxOzP+uLB>qYGuajX-<#^u;Kw&2uh&93)h>nHaFA%{&2PW=Nn zr?*a;gk3xvRhQIRa1de-!r(ss&?tRmZ=L2FMkhxI3lK6Jn<>5c*ID|@KU#^MCIo6> zpFA{|R(4fsBwHIW z9v!7G|7enadv4}~*8q_h%tD^j$7=PCnn0=dR0GKA(fgb9`2IRg6ksBIo+Gdw#|-3eSe=3tmDe zIqVN)tScM`0W#Z>2wc>~2Uv=3L)~D4gXqZtPQ8rifbYJqwkG>bv}95G7+};9Br?hF zWSa3b)X}z#79W9kukM%6-b_54WDJm~Ub=gsrJ0lz-8&lrQ7zfK1qzuZQkZvcE3|~S zZWmk0ETaNIHnMALn>akuvHLf5c4`y%!f+u>ZGp%@q_;T!`76_snc_?K;Wx%YpF;5K zw^F+BCYUPy`fpRif@5O@Im5cf?evD$>KlAgX;D0*HiO0`Yg3j;R4jT(9h(L_TsY6yxk*@ZBe%+dMqY=cB5oGs{D$QwOFbH)G$iVf<3Olcd7^#fr- zM{!ILWt#coT)s9ySkwDCPHv0oww8g8K%Yr{aR}msELVX(}JQr%F4Q8=KKn*OjSO*uSp;JK%GwhRF_K??vGC$ZqmJX z@+}8sQ)9Z}3*DiWl+L_7OXn_^{SW~2&C*b^;%IP!j$lkre7H&bMR1}7aTT*G8P}|G zHM1)hZDe{r_E3{{Y=d}}_PxJO_w4MaE4)$<<3JwzPdwPzfNemK(-X;{UCzmVr0zu5 zEnT}fzx)oVd!*W77`1Ig`DFcZ6TkPaI$hO1+`cGb$({ukz&{p4Ic-Xnwrg-KEkDqW zW3l$7Q`V$!1T(=QL1jgjIachdr75>-8>1A^h+;rTrD^nnwf?bw(Rang!*16Odj$Pn z@)JN5&5w~}ae6d};oa|&G>sT!)ixE#5;QW(u(=bqYHXcOflE%@t4A?n5fTUm0F~8_ zwpoz9rrU`@G=vsNjDRY(CrF(jIjqg8bd|CP02>eFag7T?u;C^ir+Z7YKmBYw;%%XdT2T}a$X4yR7EI;zaof3a)5Z;`OwVi%D?gbkBj!{;z2tOBSFk&E1DeiZXD**uvNqL}+|pO{ ztO$}2NMRit2ddU?)7Prq&*&H3X>&=E{-+j4iUz zrvL;?0$^@lyl=LHz9G^$SJV6ID__@7z->Bh>Vm=6AK&5bP%@heveHja5F@agGgUsY z@L@W2+^*NVoId0!kS~4XkWb%y;f}XBf>S+NIw9aHK;vN+4mJ|em)_QjIVfb2$;bwv zDKmoq6AThgKydS6Hs+UpKPWq|UA}s=UOEBZNM3oNT5qTAabY)X>L6jxfGDuu7&GD_ z=@@m?sJ-o2GS}&hNRW}-zHkr>o4&138@a8IC-FjSBxzjx?(*3@YmdmWGAd%0QvXzS zJ53JpX%Fp!=>v&`Hd7F@+Atw2vx9%^2M-APg0Jd|ePsRn3*B$#9Z5hCou4fo7W#SN z#}-@-N=##yQDh26pNzr9f*Q88krhI5@DHcf{dU-~PLSs}MvI4s1i|<=qxD~9`7>*~ znlw5lr$_6mTG4XbBNF_79BzvZ!TeIP)exdk3)kSHjYdW1P10ZJ_NCJSlrCuIU#gqw f88(SSw!Z%ZUzhC#9QlKF00000NkvXXu0mjfG$}gK literal 0 HcmV?d00001 diff --git a/README.en.md b/README.en.md deleted file mode 100644 index d0091f2..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# CrossModuleReference - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index 776b6cf..c8d45e4 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,93 @@ -# CrossModuleReference +# Native侧跨HAR/HSP模块调用 -#### 介绍 -{**以下是 Gitee 平台说明,您可以替换此简介** -Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} +### 介绍 -#### 软件架构 -软件架构说明 +本示例展示了Native侧调用HAR/HSP模块的接口,包括调用HAR/HSP模块的Native接口和ArkTS接口。 +### 效果预览 -#### 安装教程 +![](screenshots/device/nativeCall_cn.png) -1. xxxx -2. xxxx -3. xxxx -#### 使用说明 +使用说明 -1. xxxx -2. xxxx -3. xxxx +1、点击【调用Native方法】按钮,调用Native方法。 -#### 参与贡献 +2、点击【调用HarNative方法】按钮,调用staticModule模块的Native方法。 -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request +3、点击【通过Native方法调用HarArkTS方法】按钮,通过staticModule模块的Native方法调用Har模块的ArkTS方法。 +4、点击【调用HspNative方法】按钮,调用sharedModule模块的Native方法。 -#### 特技 +5、点击【通过Native方法调用HspArkTS方法】按钮,通过sharedModule模块的Native方法调用sharedModule模块的ArkTS方法。 -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +注意:在运行应用时,需要设置Deploy Multi Hap。点击Edit Configuration -> 选择entry -> 点击Deploy Multi Hap -> 勾选Deploy Multi Hap Packages。 + +### 工程目录 +``` +├──entry/src/main // Native层 +│ ├──cpp +│ │ ├──types // Native层暴露上来的接口 +│ │ │ └──libfile_access // 暴露给UI层的接口 +│ │ ├──CMakeLists.txt // 编译入口 +│ │ └──napi_init.cpp // Native文件操作方法 +│ └──ets // UI层 +│ ├──entryability // 应用的入口 +│ │ └──EntryAbility.ets +│ ├──entrybackupability +│ │ └──EntryBackupAbility.ets +│ ├──model +│ │ └──FileNameModel.ets +│ └──pages // EntryAbility 包含的页面 +│ └──Index.ets // 应用主页面 +├──staticModule/src/main // har模块 +│ ├──cpp +│ │ ├──types // Native层暴露上来的接口 +│ │ │ └──libfile_access // 暴露给UI层的接口 +│ │ ├──CMakeLists.txt // 编译入口 +│ │ ├──napi_har.cpp // har模块提供的native方法 +│ │ ├──napi_har.h // napi_har的头文件 +│ │ └──napi_init.cpp +│ └──ets // UI层 +│ ├──components +│ │ └──MainPage.ets +│ └──utils +│ └──Util.ets // ArkTS方法 +└──sharedModule/src/main // hsp模块 + ├──cpp + │ ├──types // Native层暴露上来的接口 + │ │ └──libfile_access // 暴露给UI层的接口 + │ ├──CMakeLists.txt // 编译入口 + │ ├──napi_hsp.cpp // hsp模块提供的native方法 + │ ├──napi_hsp.h // napi_hsp的头文件 + │ └──napi_init.cpp + └──ets // UI层 + ├──components + │ └──MainPage.ets + └──utils + └──Calc.ets // ArkTS方法 + +``` +### 具体实现 +* 创建staticModule(HAR)/sharedModule(HSP)模块,并在entry的oh-package.json5配置对应的依赖。 +* 在staticModule(HAR)/sharedModule(HSP)模块中创建Native方法及其头文件,在staticModule(HAR)/sharedModule(HSP)模块的build-profile.json5进行头文件导出配置。 +* 在staticModule(HAR)/sharedModule(HSP)模块中Native侧引用ArkTS方法。 +* 在entry的Native侧引用staticModule(HAR)/sharedModule(HSP)模块中Native方法 + +### 相关权限 + +不涉及。 + +### 依赖 + +不涉及。 + +### 约束与限制 + +1. 本示例仅支持标准系统上运行,支持设备:华为手机。 + +2. HarmonyOS系统:HarmonyOS NEXT Developer Release及以上。 + +3. DevEco Studio版本:DevEco Studio NEXT Developer Release及以上。 + +4. HarmonyOS SDK版本:HarmonyOS NEXT Developer Release SDK及以上。 \ No newline at end of file diff --git a/build-profile.json5 b/build-profile.json5 new file mode 100644 index 0000000..57760a7 --- /dev/null +++ b/build-profile.json5 @@ -0,0 +1,58 @@ +{ + "app": { + "signingConfigs": [ + ], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compatibleSdkVersion": "5.0.0(12)", + "runtimeOS": "HarmonyOS", + "buildOption": { + "strictMode": { + "caseSensitiveCheck": true, + "useNormalizedOHMUrl": true + } + } + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + }, + { + "name": "staticModule", + "srcPath": "./staticModule" + }, + { + "name": "sharedModule", + "srcPath": "./sharedModule", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/code-linter.json5 b/code-linter.json5 new file mode 100644 index 0000000..77b31b5 --- /dev/null +++ b/code-linter.json5 @@ -0,0 +1,20 @@ +{ + "files": [ + "**/*.ets" + ], + "ignore": [ + "**/src/ohosTest/**/*", + "**/src/test/**/*", + "**/src/mock/**/*", + "**/node_modules/**/*", + "**/oh_modules/**/*", + "**/build/**/*", + "**/.preview/**/*" + ], + "ruleSet": [ + "plugin:@performance/recommended", + "plugin:@typescript-eslint/recommended" + ], + "rules": { + } +} \ No newline at end of file diff --git a/entry/build-profile.json5 b/entry/build-profile.json5 new file mode 100644 index 0000000..1001fff --- /dev/null +++ b/entry/build-profile.json5 @@ -0,0 +1,40 @@ +{ + "apiType": "stageMode", + "buildOption": { + "externalNativeOptions": { + "path": "./src/main/cpp/CMakeLists.txt", + "arguments": "", + "cppFlags": "", + "abiFilters": ["x86_64","arm64-v8a"] + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": false, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + }, + "nativeLib": { + "debugSymbol": { + "strip": true, + "exclude": [] + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/entry/hvigorfile.ts b/entry/hvigorfile.ts new file mode 100644 index 0000000..c6edcd9 --- /dev/null +++ b/entry/hvigorfile.ts @@ -0,0 +1,6 @@ +import { hapTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/entry/oh-package.json5 b/entry/oh-package.json5 new file mode 100644 index 0000000..8bcd44a --- /dev/null +++ b/entry/oh-package.json5 @@ -0,0 +1,13 @@ +{ + "name": "entry", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": { + "libentry.so": "file:./src/main/cpp/types/libentry", + "static_module": "file:../staticModule", + "shared_module": "file:../sharedModule" + } +} \ No newline at end of file diff --git a/entry/src/main/cpp/CMakeLists.txt b/entry/src/main/cpp/CMakeLists.txt new file mode 100644 index 0000000..bf0dfed --- /dev/null +++ b/entry/src/main/cpp/CMakeLists.txt @@ -0,0 +1,15 @@ +# the minimum version of CMake. +cmake_minimum_required(VERSION 3.5.0) +project(CrossModuleReference) + +set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +if(DEFINED PACKAGE_FIND_FILE) + include(${PACKAGE_FIND_FILE}) +endif() + +include_directories(${NATIVERENDER_ROOT_PATH} + ${NATIVERENDER_ROOT_PATH}/include) + +add_library(entry SHARED napi_init.cpp) +target_link_libraries(entry PUBLIC libace_napi.z.so static_module::add shared_module::calc) diff --git a/entry/src/main/cpp/napi_init.cpp b/entry/src/main/cpp/napi_init.cpp new file mode 100644 index 0000000..cbaad7d --- /dev/null +++ b/entry/src/main/cpp/napi_init.cpp @@ -0,0 +1,174 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +#include "napi/native_api.h" +#include "napi_har.h" +#include "napi_hsp.h" + +static napi_value Add(napi_env env, napi_callback_info info) +{ + size_t argc = 2; + napi_value args[2] = {nullptr}; + + napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + + napi_valuetype valuetype0; + napi_typeof(env, args[0], &valuetype0); + + napi_valuetype valuetype1; + napi_typeof(env, args[1], &valuetype1); + + double value0; + napi_get_value_double(env, args[0], &value0); + + double value1; + napi_get_value_double(env, args[1], &value1); + + napi_value sum; + napi_create_double(env, value0 + value1, &sum); + + return sum; + +} + +static napi_value invokeHarNative(napi_env env, napi_callback_info info) +{ + size_t argc = 2; + napi_value args[2] = {nullptr}; + + napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + + napi_valuetype valuetype0; + napi_typeof(env, args[0], &valuetype0); + + napi_valuetype valuetype1; + napi_typeof(env, args[1], &valuetype1); + + double value0; + napi_get_value_double(env, args[0], &value0); + + double value1; + napi_get_value_double(env, args[1], &value1); + + napi_value sum; + + napi_create_double(env, harNativeAdd(value0, value1), &sum); + + return sum; +} + +static napi_value invokeHarArkTS(napi_env env, napi_callback_info info) +{ + size_t argc = 2; + napi_value args[2] = {nullptr}; + + napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + + napi_valuetype valuetype0; + napi_typeof(env, args[0], &valuetype0); + + napi_valuetype valuetype1; + napi_typeof(env, args[1], &valuetype1); + + double value0; + napi_get_value_double(env, args[0], &value0); + + double value1; + napi_get_value_double(env, args[1], &value1); + + return harArkTSAdd(value0, value1); +} + + +static napi_value invokeHspNative(napi_env env, napi_callback_info info) +{ + size_t argc = 2; + napi_value args[2] = {nullptr}; + + napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + + napi_valuetype valuetype0; + napi_typeof(env, args[0], &valuetype0); + + napi_valuetype valuetype1; + napi_typeof(env, args[1], &valuetype1); + + double value0; + napi_get_value_double(env, args[0], &value0); + + double value1; + napi_get_value_double(env, args[1], &value1); + + napi_value sum; + + napi_create_double(env, hspNativeAdd(value0, value1), &sum); + + return sum; +} + +static napi_value invokeHspArkTS(napi_env env, napi_callback_info info) +{ + size_t argc = 2; + napi_value args[2] = {nullptr}; + + napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + + napi_valuetype valuetype0; + napi_typeof(env, args[0], &valuetype0); + + napi_valuetype valuetype1; + napi_typeof(env, args[1], &valuetype1); + + double value0; + napi_get_value_double(env, args[0], &value0); + + double value1; + napi_get_value_double(env, args[1], &value1); + + return hspArkTSAdd(value0, value1); +} + + + +EXTERN_C_START +static napi_value Init(napi_env env, napi_value exports) +{ + napi_property_descriptor desc[] = { + { "add", nullptr, Add, nullptr, nullptr, nullptr, napi_default, nullptr }, + { "invokeHarNative", nullptr, invokeHarNative, nullptr, nullptr, nullptr, napi_default, nullptr }, + { "invokeHarArkTS", nullptr, invokeHarArkTS, nullptr, nullptr, nullptr, napi_default, nullptr }, + { "invokeHspNative", nullptr, invokeHspNative, nullptr, nullptr, nullptr, napi_default, nullptr }, + { "invokeHspArkTS", nullptr, invokeHspArkTS, nullptr, nullptr, nullptr, napi_default, nullptr } + }; + napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); + setHarEnv(env); + setHspEnv(env); + return exports; +} +EXTERN_C_END + +static napi_module demoModule = { + .nm_version = 1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = Init, + .nm_modname = "entry", + .nm_priv = ((void*)0), + .reserved = { 0 }, +}; + +extern "C" __attribute__((constructor)) void RegisterEntryModule(void) +{ + napi_module_register(&demoModule); +} diff --git a/entry/src/main/cpp/types/libentry/Index.d.ts b/entry/src/main/cpp/types/libentry/Index.d.ts new file mode 100644 index 0000000..764eb54 --- /dev/null +++ b/entry/src/main/cpp/types/libentry/Index.d.ts @@ -0,0 +1,5 @@ +export const add: (a: number, b: number) => number; +export const invokeHarNative: (a: number, b: number) => number; +export const invokeHarArkTS: (a: number, b: number) => number; +export const invokeHspNative: (a: number, b: number) => number; +export const invokeHspArkTS: (a: number, b: number) => number; \ No newline at end of file diff --git a/entry/src/main/cpp/types/libentry/oh-package.json5 b/entry/src/main/cpp/types/libentry/oh-package.json5 new file mode 100644 index 0000000..ea41072 --- /dev/null +++ b/entry/src/main/cpp/types/libentry/oh-package.json5 @@ -0,0 +1,6 @@ +{ + "name": "libentry.so", + "types": "./Index.d.ts", + "version": "1.0.0", + "description": "Please describe the basic information." +} \ No newline at end of file diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 0000000..9e26b35 --- /dev/null +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,42 @@ +import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { window } from '@kit.ArkUI'; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + windowStage.getMainWindowSync().setWindowBackgroundColor('#F1F3F5'); + hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); + }); + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); + } +}; diff --git a/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets b/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets new file mode 100644 index 0000000..dc55c03 --- /dev/null +++ b/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets @@ -0,0 +1,12 @@ +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; + +export default class EntryBackupAbility extends BackupExtensionAbility { + async onBackup() { + hilog.info(0x0000, 'testTag', 'onBackup ok'); + } + + async onRestore(bundleVersion: BundleVersion) { + hilog.info(0x0000, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); + } +} \ No newline at end of file diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets new file mode 100644 index 0000000..28412bb --- /dev/null +++ b/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,89 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import napi from 'libentry.so'; +import { promptAction } from '@kit.ArkUI'; + +@Entry +@Component +struct Index { + build() { + Column() { + Text($r('app.string.title')) + .width('100%') + .fontColor('#E6000000') + .fontSize(30) + .fontWeight(700) + .lineHeight(40) + .textAlign(TextAlign.Start) + .margin({ top: 64 }) + + Blank() + + Button($r('app.string.call_native_method')) + .fontSize(16) + .width('100%') + .onClick(() => { + promptAction.showToast({ message: 'Native method call succeed, result is ' + napi.add(2, 3).toString() }); + }) + + Button($r('app.string.call_har_native_method')) + .fontSize(16) + .width('100%') + .margin({ top: 12 }) + .onClick(() => { + promptAction.showToast({ + message: 'HarNative method call succeed, result is ' + napi.invokeHarNative(2, 3).toString() + }); + }) + + Button($r('app.string.call_har_ArkTS_method')) + .fontSize(16) + .width('100%') + .margin({ top: 12 }) + .onClick(() => { + promptAction.showToast({ message: 'HarArkTS method call succeed, result is ' + + napi.invokeHarArkTS(2, 3).toString() }); + }) + + Button($r('app.string.call_hsp_native_method')) + .fontSize(16) + .width('100%') + .margin({ top: 12 }) + .onClick(() => { + promptAction.showToast({ + message: 'HspNative method call succeed, result is ' + napi.invokeHspNative(2, 3).toString() + }); + }) + + Button($r('app.string.call_hsp_ArkTS_method')) + .fontSize(16) + .width('100%') + .margin({ top: 12 }) + .onClick(() => { + promptAction.showToast({ message: 'HspArkTS method call succeed, result is ' + + napi.invokeHspArkTS(2, 3).toString() }); + }) + } + .padding({ + bottom: 16, + left: 16, + right: 16 + }) + .justifyContent(FlexAlign.End) + .width('100%') + .height('100%') + } +} diff --git a/entry/src/main/module.json5 b/entry/src/main/module.json5 new file mode 100644 index 0000000..a1cea8b --- /dev/null +++ b/entry/src/main/module.json5 @@ -0,0 +1,52 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "phone", + "tablet", + "2in1" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:layered_image", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ], + "extensionAbilities": [ + { + "name": "EntryBackupAbility", + "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", + "type": "backup", + "exported": false, + "metadata": [ + { + "name": "ohos.extension.backup", + "resource": "$profile:backup_config" + } + ], + } + ] + } +} \ No newline at end of file diff --git a/entry/src/main/resources/base/element/color.json b/entry/src/main/resources/base/element/color.json new file mode 100644 index 0000000..3c71296 --- /dev/null +++ b/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/entry/src/main/resources/base/element/string.json b/entry/src/main/resources/base/element/string.json new file mode 100644 index 0000000..69d1e82 --- /dev/null +++ b/entry/src/main/resources/base/element/string.json @@ -0,0 +1,40 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "CrossModuleReference" + }, + { + "name": "title", + "value": "Calling methods across HAR/HSP" + }, + { + "name": "call_native_method", + "value": "Call native method" + }, + { + "name": "call_har_native_method", + "value": "Call HarNative method" + }, + { + "name": "call_har_ArkTS_method", + "value": "Call HarArkTS methods" + }, + { + "name": "call_hsp_native_method", + "value": "Call HspNative method" + }, + { + "name": "call_hsp_ArkTS_method", + "value": "Call HspArkTS method" + } + ] +} \ No newline at end of file diff --git a/entry/src/main/resources/base/media/background.png b/entry/src/main/resources/base/media/background.png new file mode 100644 index 0000000000000000000000000000000000000000..f939c9fa8cc8914832e602198745f592a0dfa34d GIT binary patch literal 57364 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 A4*&oF literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/media/foreground.png b/entry/src/main/resources/base/media/foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4483ddad1f079e1089d685bd204ee1cfe1d01902 GIT binary patch literal 12430 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 cSLciz6AsI{U0tD9;7S&f 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

c)ijgxDm}8EsRXFt3h@+Ufr7@DN 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 literal 0 HcmV?d00001 diff --git a/entry/src/main/resources/base/profile/backup_config.json b/entry/src/main/resources/base/profile/backup_config.json new file mode 100644 index 0000000..78f40ae --- /dev/null +++ b/entry/src/main/resources/base/profile/backup_config.json @@ -0,0 +1,3 @@ +{ + "allowToBackupRestore": true +} \ No newline at end of file diff --git a/entry/src/main/resources/base/profile/main_pages.json b/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 0000000..1898d94 --- /dev/null +++ b/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "pages/Index" + ] +} diff --git a/entry/src/main/resources/en_US/element/string.json b/entry/src/main/resources/en_US/element/string.json new file mode 100644 index 0000000..69d1e82 --- /dev/null +++ b/entry/src/main/resources/en_US/element/string.json @@ -0,0 +1,40 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "CrossModuleReference" + }, + { + "name": "title", + "value": "Calling methods across HAR/HSP" + }, + { + "name": "call_native_method", + "value": "Call native method" + }, + { + "name": "call_har_native_method", + "value": "Call HarNative method" + }, + { + "name": "call_har_ArkTS_method", + "value": "Call HarArkTS methods" + }, + { + "name": "call_hsp_native_method", + "value": "Call HspNative method" + }, + { + "name": "call_hsp_ArkTS_method", + "value": "Call HspArkTS method" + } + ] +} \ No newline at end of file diff --git a/entry/src/main/resources/zh_CN/element/string.json b/entry/src/main/resources/zh_CN/element/string.json new file mode 100644 index 0000000..1684177 --- /dev/null +++ b/entry/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,40 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "模块描述" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "CrossModuleReference" + }, + { + "name": "title", + "value": "Native跨HSP/HAR调用" + }, + { + "name": "call_native_method", + "value": "调用Native方法" + }, + { + "name": "call_har_native_method", + "value": "调用HarNative方法" + }, + { + "name": "call_har_ArkTS_method", + "value": "通过Native方法调用HarArkTS方法" + }, + { + "name": "call_hsp_native_method", + "value": "调用HspNative方法" + }, + { + "name": "call_hsp_ArkTS_method", + "value": "通过Native方法调用HspArkTS方法" + } + ] +} \ No newline at end of file diff --git a/hvigor/hvigor-config.json5 b/hvigor/hvigor-config.json5 new file mode 100644 index 0000000..06b2783 --- /dev/null +++ b/hvigor/hvigor-config.json5 @@ -0,0 +1,22 @@ +{ + "modelVersion": "5.0.0", + "dependencies": { + }, + "execution": { + // "analyze": "normal", /* Define the build analyze mode. Value: [ "normal" | "advanced" | false ]. Default: "normal" */ + // "daemon": true, /* Enable daemon compilation. Value: [ true | false ]. Default: true */ + // "incremental": true, /* Enable incremental compilation. Value: [ true | false ]. Default: true */ + // "parallel": true, /* Enable parallel compilation. Value: [ true | false ]. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Value: [ true | false ]. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false /* Disable stacktrace compilation. Value: [ true | false ]. Default: false */ + }, + "nodeOptions": { + // "maxOldSpaceSize": 8192 /* Enable nodeOptions maxOldSpaceSize compilation. Unit M. Used for the daemon process. Default: 8192*/ + // "exposeGC": true /* Enable to trigger garbage collection explicitly. Default: true*/ + } +} diff --git a/hvigorfile.ts b/hvigorfile.ts new file mode 100644 index 0000000..f3cb9f1 --- /dev/null +++ b/hvigorfile.ts @@ -0,0 +1,6 @@ +import { appTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/oh-package.json5 b/oh-package.json5 new file mode 100644 index 0000000..8bf916d --- /dev/null +++ b/oh-package.json5 @@ -0,0 +1,8 @@ +{ + "modelVersion": "5.0.0", + "description": "Please describe the basic information.", + "dependencies": { + }, + "devDependencies": { + } +} diff --git a/screenshots/device/nativeCall.png b/screenshots/device/nativeCall.png new file mode 100644 index 0000000000000000000000000000000000000000..3771b30e0540813fb89840ed76f58f6562692205 GIT binary patch literal 71396 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 CCZNFp literal 0 HcmV?d00001 diff --git a/sharedModule/Index.ets b/sharedModule/Index.ets new file mode 100644 index 0000000..3cb1d2e --- /dev/null +++ b/sharedModule/Index.ets @@ -0,0 +1 @@ +export { add } from './src/main/ets/utils/Calc' \ No newline at end of file diff --git a/sharedModule/build-profile.json5 b/sharedModule/build-profile.json5 new file mode 100644 index 0000000..52a50d2 --- /dev/null +++ b/sharedModule/build-profile.json5 @@ -0,0 +1,43 @@ +{ + "apiType": "stageMode", + "buildOption": { + "externalNativeOptions": { + "path": "./src/main/cpp/CMakeLists.txt", + "arguments": "", + "cppFlags": "", + "abiFilters": ["x86_64", "arm64-v8a"] + }, + "nativeLib": { + "headerPath": "./src/main/cpp" + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": false, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + }, + "nativeLib": { + "debugSymbol": { + "strip": true, + "exclude": [] + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest" + } + ] +} \ No newline at end of file diff --git a/sharedModule/hvigorfile.ts b/sharedModule/hvigorfile.ts new file mode 100644 index 0000000..d993120 --- /dev/null +++ b/sharedModule/hvigorfile.ts @@ -0,0 +1,6 @@ +import { hspTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hspTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/sharedModule/oh-package.json5 b/sharedModule/oh-package.json5 new file mode 100644 index 0000000..16f7048 --- /dev/null +++ b/sharedModule/oh-package.json5 @@ -0,0 +1,12 @@ +{ + "name": "shared_module", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "Index.ets", + "author": "", + "license": "Apache-2.0", + "packageType": "InterfaceHar", + "dependencies": { + "libcalc.so": "file:./src/main/cpp/types/libhsp" + } +} \ No newline at end of file diff --git a/sharedModule/src/main/cpp/CMakeLists.txt b/sharedModule/src/main/cpp/CMakeLists.txt new file mode 100644 index 0000000..67ef091 --- /dev/null +++ b/sharedModule/src/main/cpp/CMakeLists.txt @@ -0,0 +1,15 @@ +# the minimum version of CMake. +cmake_minimum_required(VERSION 3.5.0) +project(myNpmLib) + +set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +if(DEFINED PACKAGE_FIND_FILE) + include(${PACKAGE_FIND_FILE}) +endif() + +include_directories(${NATIVERENDER_ROOT_PATH} + ${NATIVERENDER_ROOT_PATH}/include) + +add_library(calc SHARED napi_hsp.cpp) +target_link_libraries(calc PUBLIC libace_napi.z.so) \ No newline at end of file diff --git a/sharedModule/src/main/cpp/napi_hsp.cpp b/sharedModule/src/main/cpp/napi_hsp.cpp new file mode 100644 index 0000000..aaf6f96 --- /dev/null +++ b/sharedModule/src/main/cpp/napi_hsp.cpp @@ -0,0 +1,46 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "napi/native_api.h" +#include "napi_hsp.h" + +double hspNativeAdd(double a, double b) { + return a + b; +} + +void setHspEnv(napi_env env) { + main_env = env; +} + +napi_value hspArkTSAdd(double a, double b) { + napi_env env = main_env; + napi_value module; + napi_status status = napi_load_module_with_info(env, "shared_module/src/main/ets/utils/Calc", "com.example.crossmodulereference/entry", &module); + if (napi_ok != status) { + return 0; + } + + napi_value addFunc; + napi_get_named_property(env, module, "add", &addFunc); + + napi_value addResult; + napi_value argv[2] = {nullptr, nullptr}; + napi_create_double(env, a, &argv[0]); + napi_create_double(env, b, &argv[1]); + napi_call_function(env, module, addFunc, 2, argv, &addResult); + + return addResult; +} + diff --git a/sharedModule/src/main/cpp/napi_hsp.h b/sharedModule/src/main/cpp/napi_hsp.h new file mode 100644 index 0000000..3e1df84 --- /dev/null +++ b/sharedModule/src/main/cpp/napi_hsp.h @@ -0,0 +1,23 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#ifndef CROSSMODULEREFERENCE_NAPI_HSP_H +#define CROSSMODULEREFERENCE_NAPI_HSP_H +#include +napi_env main_env; +void setHspEnv(napi_env env); +double hspNativeAdd(double a, double b); +napi_value hspArkTSAdd(double a, double b); +#endif //CROSSMODULEREFERENCE_NAPI_HSP_H diff --git a/sharedModule/src/main/cpp/napi_init.cpp b/sharedModule/src/main/cpp/napi_init.cpp new file mode 100644 index 0000000..4df8002 --- /dev/null +++ b/sharedModule/src/main/cpp/napi_init.cpp @@ -0,0 +1,68 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#include "napi/native_api.h" + +static napi_value Add(napi_env env, napi_callback_info info) +{ + size_t argc = 2; + napi_value args[2] = {nullptr}; + + napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + + napi_valuetype valuetype0; + napi_typeof(env, args[0], &valuetype0); + + napi_valuetype valuetype1; + napi_typeof(env, args[1], &valuetype1); + + double value0; + napi_get_value_double(env, args[0], &value0); + + double value1; + napi_get_value_double(env, args[1], &value1); + + napi_value sum; + napi_create_double(env, value0 + value1, &sum); + + return sum; + +} + +EXTERN_C_START +static napi_value Init(napi_env env, napi_value exports) +{ + napi_property_descriptor desc[] = { + { "add", nullptr, Add, nullptr, nullptr, nullptr, napi_default, nullptr } + }; + napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); + return exports; +} +EXTERN_C_END + +static napi_module demoModule = { + .nm_version = 1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = Init, + .nm_modname = "calc", + .nm_priv = ((void*)0), + .reserved = { 0 }, +}; + +extern "C" __attribute__((constructor)) void RegisterHspModule(void) +{ + napi_module_register(&demoModule); +} diff --git a/sharedModule/src/main/cpp/types/libhsp/Index.d.ts b/sharedModule/src/main/cpp/types/libhsp/Index.d.ts new file mode 100644 index 0000000..e44f361 --- /dev/null +++ b/sharedModule/src/main/cpp/types/libhsp/Index.d.ts @@ -0,0 +1 @@ +export const add: (a: number, b: number) => number; \ No newline at end of file diff --git a/sharedModule/src/main/cpp/types/libhsp/oh-package.json5 b/sharedModule/src/main/cpp/types/libhsp/oh-package.json5 new file mode 100644 index 0000000..543773a --- /dev/null +++ b/sharedModule/src/main/cpp/types/libhsp/oh-package.json5 @@ -0,0 +1,6 @@ +{ + "name": "libcalc.so", + "types": "./Index.d.ts", + "version": "1.0.0", + "description": "Please describe the basic information." +} \ No newline at end of file diff --git a/sharedModule/src/main/ets/pages/Index.ets b/sharedModule/src/main/ets/pages/Index.ets new file mode 100644 index 0000000..df13bd8 --- /dev/null +++ b/sharedModule/src/main/ets/pages/Index.ets @@ -0,0 +1,38 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +import { hilog } from '@kit.PerformanceAnalysisKit'; +import testNapi from 'libcalc.so'; + +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + .onClick(() => { + hilog.info(0x0000, 'testTag', 'Test NAPI 2 + 3 = %{public}d', testNapi.add(2, 3)); + }) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/sharedModule/src/main/ets/utils/Calc.ets b/sharedModule/src/main/ets/utils/Calc.ets new file mode 100644 index 0000000..fc74f0e --- /dev/null +++ b/sharedModule/src/main/ets/utils/Calc.ets @@ -0,0 +1,18 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +export function add(a: number, b: number) { + return a + b; +} \ No newline at end of file diff --git a/sharedModule/src/main/module.json5 b/sharedModule/src/main/module.json5 new file mode 100644 index 0000000..b067847 --- /dev/null +++ b/sharedModule/src/main/module.json5 @@ -0,0 +1,14 @@ +{ + "module": { + "name": "sharedModule", + "type": "shared", + "description": "$string:shared_desc", + "deviceTypes": [ + "phone", + "tablet", + "2in1" + ], + "deliveryWithInstall": true, + "pages": "$profile:main_pages" + } +} \ No newline at end of file diff --git a/sharedModule/src/main/resources/base/element/string.json b/sharedModule/src/main/resources/base/element/string.json new file mode 100644 index 0000000..98e1d8a --- /dev/null +++ b/sharedModule/src/main/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "shared_desc", + "value": "description" + } + ] +} \ No newline at end of file diff --git a/sharedModule/src/main/resources/base/profile/main_pages.json b/sharedModule/src/main/resources/base/profile/main_pages.json new file mode 100644 index 0000000..1898d94 --- /dev/null +++ b/sharedModule/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "pages/Index" + ] +} diff --git a/staticModule/Index.ets b/staticModule/Index.ets new file mode 100644 index 0000000..10ebb3e --- /dev/null +++ b/staticModule/Index.ets @@ -0,0 +1 @@ +export { MainPage } from './src/main/ets/components/MainPage' diff --git a/staticModule/build-profile.json5 b/staticModule/build-profile.json5 new file mode 100644 index 0000000..4654414 --- /dev/null +++ b/staticModule/build-profile.json5 @@ -0,0 +1,53 @@ +{ + "apiType": "stageMode", + "buildOption": { + "externalNativeOptions": { + "path": "./src/main/cpp/CMakeLists.txt", + "arguments": "", + "cppFlags": "", + "abiFilters": ["x86_64", "arm64-v8a"] + }, + "nativeLib": { + "headerPath": "./src/main/cpp" + }, + "arkOptions" : { + "runtimeOnly" : { + "sources": [ + "./src/main/ets/utils/Util.ets" + ] + } + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": false, + "files": [ + "./obfuscation-rules.txt" + ] + }, + "consumerFiles": [ + "./consumer-rules.txt" + ] + } + }, + "nativeLib": { + "debugSymbol": { + "strip": true, + "exclude": [] + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest" + } + ] +} diff --git a/staticModule/consumer-rules.txt b/staticModule/consumer-rules.txt new file mode 100644 index 0000000..e69de29 diff --git a/staticModule/hvigorfile.ts b/staticModule/hvigorfile.ts new file mode 100644 index 0000000..4218707 --- /dev/null +++ b/staticModule/hvigorfile.ts @@ -0,0 +1,6 @@ +import { harTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: harTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/staticModule/oh-package.json5 b/staticModule/oh-package.json5 new file mode 100644 index 0000000..4c89a4c --- /dev/null +++ b/staticModule/oh-package.json5 @@ -0,0 +1,11 @@ +{ + "name": "static_module", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "Index.ets", + "author": "", + "license": "Apache-2.0", + "dependencies": { + "libadd.so": "file:./src/main/cpp/types/liblibrary" + } +} \ No newline at end of file diff --git a/staticModule/src/main/cpp/CMakeLists.txt b/staticModule/src/main/cpp/CMakeLists.txt new file mode 100644 index 0000000..bba3961 --- /dev/null +++ b/staticModule/src/main/cpp/CMakeLists.txt @@ -0,0 +1,15 @@ +# the minimum version of CMake. +cmake_minimum_required(VERSION 3.5.0) +project(myNpmLib) + +set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +if(DEFINED PACKAGE_FIND_FILE) + include(${PACKAGE_FIND_FILE}) +endif() + +include_directories(${NATIVERENDER_ROOT_PATH} + ${NATIVERENDER_ROOT_PATH}/include) + +add_library(add SHARED napi_init.cpp napi_har.cpp) +target_link_libraries(add PUBLIC libace_napi.z.so) diff --git a/staticModule/src/main/cpp/napi_har.cpp b/staticModule/src/main/cpp/napi_har.cpp new file mode 100644 index 0000000..ec61919 --- /dev/null +++ b/staticModule/src/main/cpp/napi_har.cpp @@ -0,0 +1,45 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +#include "napi/native_api.h" +#include "napi_har.h" + +double harNativeAdd(double a, double b) { + return a + b; +} + +void setHarEnv(napi_env env) { + g_main_env = env; +} + +napi_value harArkTSAdd(double a, double b) { + napi_env env = g_main_env; + napi_value module; + napi_status status = napi_load_module_with_info(env, "static_module/src/main/ets/utils/Util", "com.example.crossmodulereference/entry", &module); + if (napi_ok != status) { + return 0; + } + + napi_value addFunc; + napi_get_named_property(env, module, "add", &addFunc); + + napi_value addResult; + napi_value argv[2] = {nullptr, nullptr}; + napi_create_double(env, a, &argv[0]); + napi_create_double(env, b, &argv[1]); + napi_call_function(env, module, addFunc, 2, argv, &addResult); + + return addResult; +} + diff --git a/staticModule/src/main/cpp/napi_har.h b/staticModule/src/main/cpp/napi_har.h new file mode 100644 index 0000000..6487900 --- /dev/null +++ b/staticModule/src/main/cpp/napi_har.h @@ -0,0 +1,23 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#ifndef CROSSMODULEREFERENCE_NAPI_HAR_H +#define CROSSMODULEREFERENCE_NAPI_HAR_H +#include +napi_env g_main_env; +void setHarEnv(napi_env env); +double harNativeAdd(double a, double b); +napi_value harArkTSAdd(double a, double b); +#endif //CROSSMODULEREFERENCE_NAPI_HAR_H diff --git a/staticModule/src/main/cpp/napi_init.cpp b/staticModule/src/main/cpp/napi_init.cpp new file mode 100644 index 0000000..ce3735d --- /dev/null +++ b/staticModule/src/main/cpp/napi_init.cpp @@ -0,0 +1,67 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +#include "napi/native_api.h" + +static napi_value Add(napi_env env, napi_callback_info info) +{ + size_t argc = 2; + napi_value args[2] = {nullptr}; + + napi_get_cb_info(env, info, &argc, args , nullptr, nullptr); + + napi_valuetype valuetype0; + napi_typeof(env, args[0], &valuetype0); + + napi_valuetype valuetype1; + napi_typeof(env, args[1], &valuetype1); + + double value0; + napi_get_value_double(env, args[0], &value0); + + double value1; + napi_get_value_double(env, args[1], &value1); + + napi_value sum; + napi_create_double(env, value0 + value1, &sum); + + return sum; + +} + +EXTERN_C_START +static napi_value Init(napi_env env, napi_value exports) +{ + napi_property_descriptor desc[] = { + { "add", nullptr, Add, nullptr, nullptr, nullptr, napi_default, nullptr } + }; + napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); + return exports; +} +EXTERN_C_END + +static napi_module demoModule = { + .nm_version = 1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = Init, + .nm_modname = "add", + .nm_priv = ((void*)0), + .reserved = { 0 }, +}; + +extern "C" __attribute__((constructor)) void RegisterLibraryModule(void) +{ + napi_module_register(&demoModule); +} diff --git a/staticModule/src/main/cpp/types/liblibrary/Index.d.ts b/staticModule/src/main/cpp/types/liblibrary/Index.d.ts new file mode 100644 index 0000000..e44f361 --- /dev/null +++ b/staticModule/src/main/cpp/types/liblibrary/Index.d.ts @@ -0,0 +1 @@ +export const add: (a: number, b: number) => number; \ No newline at end of file diff --git a/staticModule/src/main/cpp/types/liblibrary/oh-package.json5 b/staticModule/src/main/cpp/types/liblibrary/oh-package.json5 new file mode 100644 index 0000000..7565cd3 --- /dev/null +++ b/staticModule/src/main/cpp/types/liblibrary/oh-package.json5 @@ -0,0 +1,6 @@ +{ + "name": "libadd.so", + "types": "./Index.d.ts", + "version": "1.0.0", + "description": "Please describe the basic information." +} diff --git a/staticModule/src/main/ets/components/MainPage.ets b/staticModule/src/main/ets/components/MainPage.ets new file mode 100644 index 0000000..f30aea0 --- /dev/null +++ b/staticModule/src/main/ets/components/MainPage.ets @@ -0,0 +1,36 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { hilog } from '@kit.PerformanceAnalysisKit'; +import testNapi from 'libadd.so'; + +@Component +export struct MainPage { + @State message: string = 'Hello World'; + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + .onClick(() => { + hilog.info(0x0000, 'testTag', 'Test NAPI 2 + 3 = %{public}d', testNapi.add(2, 3)); + }) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/staticModule/src/main/ets/utils/Util.ets b/staticModule/src/main/ets/utils/Util.ets new file mode 100644 index 0000000..d22eab8 --- /dev/null +++ b/staticModule/src/main/ets/utils/Util.ets @@ -0,0 +1,17 @@ +/* +* Copyright (C) 2024 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +export function add(a: number, b: number): number { + return a + b; +} \ No newline at end of file diff --git a/staticModule/src/main/module.json5 b/staticModule/src/main/module.json5 new file mode 100644 index 0000000..affaaba --- /dev/null +++ b/staticModule/src/main/module.json5 @@ -0,0 +1,11 @@ +{ + "module": { + "name": "staticModule", + "type": "har", + "deviceTypes": [ + "default", + "tablet", + "2in1" + ] + } +} \ No newline at end of file diff --git a/staticModule/src/main/resources/base/element/string.json b/staticModule/src/main/resources/base/element/string.json new file mode 100644 index 0000000..f51a9c8 --- /dev/null +++ b/staticModule/src/main/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "page_show", + "value": "page from package" + } + ] +} diff --git a/staticModule/src/main/resources/en_US/element/string.json b/staticModule/src/main/resources/en_US/element/string.json new file mode 100644 index 0000000..f51a9c8 --- /dev/null +++ b/staticModule/src/main/resources/en_US/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "page_show", + "value": "page from package" + } + ] +} diff --git a/staticModule/src/main/resources/zh_CN/element/string.json b/staticModule/src/main/resources/zh_CN/element/string.json new file mode 100644 index 0000000..f51a9c8 --- /dev/null +++ b/staticModule/src/main/resources/zh_CN/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "page_show", + "value": "page from package" + } + ] +} -- Gitee