diff --git a/arkoala-arkts/har/arkoala-har-bundle/loader.js b/arkoala-arkts/har/arkoala-har-bundle/loader.js index cf497dfb709a5a60c52be6d91a13d6961c895241..dc7e3c185a523b55b4e1d091843790c319b908c9 100644 --- a/arkoala-arkts/har/arkoala-har-bundle/loader.js +++ b/arkoala-arkts/har/arkoala-har-bundle/loader.js @@ -100,14 +100,11 @@ 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 nativePath = classPath + let classPath = `/data/storage/el1/bundle/libs/__ARCH__`; + let nativePath = classPath; switch (variant) { case 'panda': { vm = 2; - console.log("CLASS PATH: ", classPath); break; } } 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/cpp/common-interop.cc b/interop/src/cpp/common-interop.cc index d497181c3fd46e5a46309ac49c58d2537abb0e29..d559bf287549760373e48745c73c67f31c8ae800 100644 --- a/interop/src/cpp/common-interop.cc +++ b/interop/src/cpp/common-interop.cc @@ -244,7 +244,7 @@ void impl_PrintGroupedLog(KInt index) { } KOALA_INTEROP_V1(PrintGroupedLog, KInt) -typedef KInt (*LoadVirtualMachine_t)(KInt vmKind, const char* appClassPath, const char* appLibPath, void* currentVMContext); +typedef KInt (*LoadVirtualMachine_t)(KInt vmKind, const char* classPath, const char* libraryPath, void* currentVMContext); typedef KNativePointer (*StartApplication_t)(const char* appUrl, const char* appParams); typedef KBoolean (*RunApplication_t)(const KInt arg0, const KInt arg1); typedef void (*EmitEvent_t)(const KInt type, const KInt target, const KInt arg0, const KInt arg1); @@ -265,11 +265,18 @@ void* getImpl(const char* path, const char* name) { return findSymbol(lib, name); } -KInt impl_LoadVirtualMachine(KVMContext vmContext, KInt vmKind, const KStringPtr& appClassPath, const KStringPtr& nativeLibPath) { +KInt impl_LoadVirtualMachine(KVMContext vmContext, KInt vmKind, const KStringPtr& classPath, const KStringPtr& libraryPath) { + const char* envClassPath = std::getenv("PANDA_CLASS_PATH"); + if (envClassPath) { + LOGI("CLASS PATH updated from env var PANDA_CLASS_PATH, %" LOG_PUBLIC "s", envClassPath); + } + const char* appClassPath = envClassPath ? envClassPath : classPath.c_str(); + const char* nativeLibPath = envClassPath ? envClassPath : libraryPath.c_str(); + static LoadVirtualMachine_t impl = nullptr; - if (!impl) impl = reinterpret_cast(getImpl(nativeLibPath.c_str(), "LoadVirtualMachine")); + if (!impl) impl = reinterpret_cast(getImpl(nativeLibPath, "LoadVirtualMachine")); if (!impl) KOALA_INTEROP_THROW_STRING(vmContext, "Cannot load VM", -1); - return impl(vmKind, appClassPath.c_str(), nativeLibPath.c_str(), vmContext); + return impl(vmKind, appClassPath, nativeLibPath, vmContext); } KOALA_INTEROP_CTX_3(LoadVirtualMachine, KInt, KInt, KStringPtr, KStringPtr)