diff --git a/arkoala-arkts/har/arkoala-har-bundle/loader.js b/arkoala-arkts/har/arkoala-har-bundle/loader.js index cf497dfb709a5a60c52be6d91a13d6961c895241..9ef495162e1c234b2f5d9e2a2ccc3ebaa6fdb2cd 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 8daa24c993a3272edbc16091e460837119f9b76e..0c3d3115197befce374098359063df51cfa1b084 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 4e90df8430c1e27dccedc3e9b0fe04773f4e6102..32c63f87b48ea01eaad0b09dd2ccc1590cf0445a 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 d497181c3fd46e5a46309ac49c58d2537abb0e29..71c9b638d9d4452ceb51011f6325ab0ea00c0485 100644 --- a/interop/src/cpp/common-interop.cc +++ b/interop/src/cpp/common-interop.cc @@ -429,6 +429,11 @@ 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) + #if defined(KOALA_JNI) || defined(KOALA_NAPI) KInteropReturnBuffer impl_RawReturnData(KVMContext vmContext, KInt v1, KInt v2) { void* data = new int8_t[v1]; diff --git a/interop/src/interop/InteropNativeModule.ts b/interop/src/interop/InteropNativeModule.ts index a37d5f2f5e7b9c7de6b217f69fe51683c3271720..6bf6dd0f63a955b37f8def9fa7ff8fd063760c9a 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)