From 7b5a49a5f9b0ee4f8bac88323d830a8bd1069d9d Mon Sep 17 00:00:00 2001 From: hzt Date: Wed, 14 May 2025 15:53:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/oh-package.json5 | 8 ++++++-- entry/src/main/cpp/CMakeLists.txt | 4 ++++ entry/src/main/cpp/napi_init.cpp | 14 +++++++++++--- entry/src/main/ets/pages/Index.ets | 4 ++++ staticModule/build-profile.json5 | 8 +++++++- staticModule/src/main/cpp/CMakeLists.txt | 3 +++ staticModule/src/main/cpp/napi_har.cpp | 9 ++++++++- staticModule/src/main/cpp/napi_har.h | 5 +++++ staticModule/src/main/ets/utils/Util.ets | 6 +++++- 9 files changed, 53 insertions(+), 8 deletions(-) diff --git a/entry/oh-package.json5 b/entry/oh-package.json5 index 8bcd44a..f8f72ea 100644 --- a/entry/oh-package.json5 +++ b/entry/oh-package.json5 @@ -1,3 +1,4 @@ +// [Start entry_start] { "name": "entry", "version": "1.0.0", @@ -8,6 +9,9 @@ "dependencies": { "libentry.so": "file:./src/main/cpp/types/libentry", "static_module": "file:../staticModule", - "shared_module": "file:../sharedModule" + // [StartExclude entry_start] + "shared_module": "file:../sharedModule", + // [EndExclude entry_start] } -} \ No newline at end of file +} +// [End entry_start] \ No newline at end of file diff --git a/entry/src/main/cpp/CMakeLists.txt b/entry/src/main/cpp/CMakeLists.txt index bf0dfed..6c55ecd 100644 --- a/entry/src/main/cpp/CMakeLists.txt +++ b/entry/src/main/cpp/CMakeLists.txt @@ -12,4 +12,8 @@ include_directories(${NATIVERENDER_ROOT_PATH} ${NATIVERENDER_ROOT_PATH}/include) add_library(entry SHARED napi_init.cpp) + +# [Start target_link_libraries_start] +# entry\src\main\cpp\CMakeLists.txt target_link_libraries(entry PUBLIC libace_napi.z.so static_module::add shared_module::calc) +# [End target_link_libraries_start] \ No newline at end of file diff --git a/entry/src/main/cpp/napi_init.cpp b/entry/src/main/cpp/napi_init.cpp index cbaad7d..c14e009 100644 --- a/entry/src/main/cpp/napi_init.cpp +++ b/entry/src/main/cpp/napi_init.cpp @@ -42,6 +42,8 @@ static napi_value Add(napi_env env, napi_callback_info info) } +// [Start invokeHarNative_start] +// entry\src\main\cpp\napi_init.cpp static napi_value invokeHarNative(napi_env env, napi_callback_info info) { size_t argc = 2; @@ -67,7 +69,10 @@ static napi_value invokeHarNative(napi_env env, napi_callback_info info) return sum; } +// [End invokeHarNative_start] +// [Start invokeHarArkTS_start] +// entry\src\main\cpp\napi_init.cpp static napi_value invokeHarArkTS(napi_env env, napi_callback_info info) { size_t argc = 2; @@ -89,7 +94,7 @@ static napi_value invokeHarArkTS(napi_env env, napi_callback_info info) return harArkTSAdd(value0, value1); } - +// [End invokeHarArkTS_start] static napi_value invokeHspNative(napi_env env, napi_callback_info info) { @@ -139,8 +144,8 @@ static napi_value invokeHspArkTS(napi_env env, napi_callback_info info) return hspArkTSAdd(value0, value1); } - - +// [Start init_start] +// entry\src\main\cpp\napi_init.cpp EXTERN_C_START static napi_value Init(napi_env env, napi_value exports) { @@ -153,10 +158,13 @@ static napi_value Init(napi_env env, napi_value exports) }; napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); setHarEnv(env); + // [StartExclude init_start] setHspEnv(env); + // [EndExclude init_start] return exports; } EXTERN_C_END +// [End init_start] static napi_module demoModule = { .nm_version = 1, diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index 28412bb..d10d117 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -39,6 +39,7 @@ struct Index { promptAction.showToast({ message: 'Native method call succeed, result is ' + napi.add(2, 3).toString() }); }) + // [Start call_har_native_start] Button($r('app.string.call_har_native_method')) .fontSize(16) .width('100%') @@ -48,7 +49,9 @@ struct Index { message: 'HarNative method call succeed, result is ' + napi.invokeHarNative(2, 3).toString() }); }) + // [End call_har_native_start] + // [Start call_har_ArkTS_start] Button($r('app.string.call_har_ArkTS_method')) .fontSize(16) .width('100%') @@ -57,6 +60,7 @@ struct Index { promptAction.showToast({ message: 'HarArkTS method call succeed, result is ' + napi.invokeHarArkTS(2, 3).toString() }); }) + // [End call_har_ArkTS_start] Button($r('app.string.call_hsp_native_method')) .fontSize(16) diff --git a/staticModule/build-profile.json5 b/staticModule/build-profile.json5 index 4654414..0ff9b0d 100644 --- a/staticModule/build-profile.json5 +++ b/staticModule/build-profile.json5 @@ -1,6 +1,8 @@ +// [Start json5_start] { "apiType": "stageMode", "buildOption": { + // [StartExclude json5_start] "externalNativeOptions": { "path": "./src/main/cpp/CMakeLists.txt", "arguments": "", @@ -10,6 +12,7 @@ "nativeLib": { "headerPath": "./src/main/cpp" }, + // [EndExclude json5_start] "arkOptions" : { "runtimeOnly" : { "sources": [ @@ -18,6 +21,7 @@ } } }, + // [StartExclude json5_start] "buildOptionSet": [ { "name": "release", @@ -49,5 +53,7 @@ { "name": "ohosTest" } - ] + ], + // [EndExclude json5_start] } +// [End json5_start] diff --git a/staticModule/src/main/cpp/CMakeLists.txt b/staticModule/src/main/cpp/CMakeLists.txt index bba3961..1c21b7d 100644 --- a/staticModule/src/main/cpp/CMakeLists.txt +++ b/staticModule/src/main/cpp/CMakeLists.txt @@ -11,5 +11,8 @@ endif() include_directories(${NATIVERENDER_ROOT_PATH} ${NATIVERENDER_ROOT_PATH}/include) +# [Start add_library_start] +# staticModule\src\main\cpp\CMakeLists.txt add_library(add SHARED napi_init.cpp napi_har.cpp) +# [End add_library_start] 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 index ec61919..a6b5e8c 100644 --- a/staticModule/src/main/cpp/napi_har.cpp +++ b/staticModule/src/main/cpp/napi_har.cpp @@ -12,17 +12,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +// [Start harNativeAdd_start] #include "napi/native_api.h" #include "napi_har.h" double harNativeAdd(double a, double b) { return a + b; } +// [End harNativeAdd_start] +// [Start set_start] +// staticModule\src\main\cpp\napi_har.cpp void setHarEnv(napi_env env) { g_main_env = env; } +// [End set_start] +// [Start har_add_start] +// staticModule\src\main\cpp\napi_har.cpp napi_value harArkTSAdd(double a, double b) { napi_env env = g_main_env; napi_value module; @@ -42,4 +49,4 @@ napi_value harArkTSAdd(double a, double b) { return addResult; } - +// [End har_add_start] diff --git a/staticModule/src/main/cpp/napi_har.h b/staticModule/src/main/cpp/napi_har.h index 6487900..3f1fa14 100644 --- a/staticModule/src/main/cpp/napi_har.h +++ b/staticModule/src/main/cpp/napi_har.h @@ -13,6 +13,9 @@ * limitations under the License. */ +// [Start har_start] +// [Start napi_har_start] +// staticModule\src\main\cpp\napi_har.h #ifndef CROSSMODULEREFERENCE_NAPI_HAR_H #define CROSSMODULEREFERENCE_NAPI_HAR_H #include @@ -21,3 +24,5 @@ void setHarEnv(napi_env env); double harNativeAdd(double a, double b); napi_value harArkTSAdd(double a, double b); #endif //CROSSMODULEREFERENCE_NAPI_HAR_H +// [End napi_har_start] +// [End har_start] \ No newline at end of file diff --git a/staticModule/src/main/ets/utils/Util.ets b/staticModule/src/main/ets/utils/Util.ets index d22eab8..c012107 100644 --- a/staticModule/src/main/ets/utils/Util.ets +++ b/staticModule/src/main/ets/utils/Util.ets @@ -12,6 +12,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +// [Start add_start] +// staticModule\src\main\ets\utils\Util.ets export function add(a: number, b: number): number { return a + b; -} \ No newline at end of file +} +// [End add_start] \ No newline at end of file -- Gitee