From 1e84e1c932c3aba5362f132cc78f0e443d9ac38c Mon Sep 17 00:00:00 2001 From: "Zavyalov, Sergey" Date: Wed, 22 Jan 2025 16:30:06 +0300 Subject: [PATCH] Add native impl for getting PANDA_CLASS_PATH --- arkoala-arkts/har/arkoala-har-bundle/loader.js | 4 +--- arkoala-arkts/har/arkoala-har-bundle/rollup.config.mjs | 3 +-- interop/src/arkts/InteropNativeModule.sts | 1 + interop/src/cpp/common-interop.cc | 4 ++++ interop/src/interop/InteropNativeModule.ts | 2 ++ 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/arkoala-arkts/har/arkoala-har-bundle/loader.js b/arkoala-arkts/har/arkoala-har-bundle/loader.js index cf497dfb7..9ef495162 100644 --- a/arkoala-arkts/har/arkoala-har-bundle/loader.js +++ b/arkoala-arkts/har/arkoala-har-bundle/loader.js @@ -100,9 +100,7 @@ export async function runEventLoop() { } export function checkLoader(variant) { let vm = -1; - - let classPath = `__PANDA_CLASS_PATH__` != 'EMPTY' ? `__PANDA_CLASS_PATH__` : `/data/storage/el1/bundle/libs/__ARCH__` - + let classPath = nativeModule()._GetPandaClassPath() ?? `/data/storage/el1/bundle/libs/__ARCH__` let nativePath = classPath switch (variant) { case 'panda': { diff --git a/arkoala-arkts/har/arkoala-har-bundle/rollup.config.mjs b/arkoala-arkts/har/arkoala-har-bundle/rollup.config.mjs index 8daa24c99..0c3d31151 100644 --- a/arkoala-arkts/har/arkoala-har-bundle/rollup.config.mjs +++ b/arkoala-arkts/har/arkoala-har-bundle/rollup.config.mjs @@ -59,8 +59,7 @@ export default cliOptions => [{ preventAssignment: true, values: { __ARKOALA_HAR__: 'true', - __ARCH__: cliOptions.arch, - __PANDA_CLASS_PATH__: process.env["PANDA_CLASS_PATH"] ?? "EMPTY" + __ARCH__: cliOptions.arch } }), inject({ diff --git a/interop/src/arkts/InteropNativeModule.sts b/interop/src/arkts/InteropNativeModule.sts index 4e90df843..32c63f87b 100644 --- a/interop/src/arkts/InteropNativeModule.sts +++ b/interop/src/arkts/InteropNativeModule.sts @@ -26,5 +26,6 @@ export class InteropNativeModule { native static _RunApplication(arg0: int32, arg1: int32): boolean native static _StartApplication(appUrl: string, appParams: string): KPointer native static _EmitEvent(eventType: int32, target: int32, arg0: int32, arg1: int32): void + native static _GetPandaClassPath(): string } diff --git a/interop/src/cpp/common-interop.cc b/interop/src/cpp/common-interop.cc index 8014dc988..7fe1817dc 100644 --- a/interop/src/cpp/common-interop.cc +++ b/interop/src/cpp/common-interop.cc @@ -429,3 +429,7 @@ KStringPtr impl_StdStringToString(KVMContext vmContext, KNativePointer stringPtr KOALA_INTEROP_CTX_1(StdStringToString, KStringPtr, KNativePointer) #endif +KStringPtr impl_GetPandaClassPath(KVMContext vmContext) { + return std::getenv("PANDA_CLASS_PATH"); +} +KOALA_INTEROP_CTX_0(GetPandaClassPath, KStringPtr) diff --git a/interop/src/interop/InteropNativeModule.ts b/interop/src/interop/InteropNativeModule.ts index a37d5f2f5..6bf6dd0f6 100644 --- a/interop/src/interop/InteropNativeModule.ts +++ b/interop/src/interop/InteropNativeModule.ts @@ -33,6 +33,8 @@ export class InteropNativeModule { public static _RunApplication(arg0: int32, arg1: int32): number { throw "method not loaded" } public static _StartApplication(appUrl: string, appParams: string): KPointer { throw "method not loaded" } public static _EmitEvent(eventType: int32, target: int32, arg0: int32, arg1: int32): void { throw "method not loaded" } + + public static _GetPandaClassPath(): string { throw "method not loaded" } } registerNativeModule("InteropNativeModule", InteropNativeModule) -- Gitee