From ac552c1198851905214429605a213065a1b55a1a Mon Sep 17 00:00:00 2001 From: Anton Tarasov Date: Thu, 30 Jan 2025 16:43:25 +0300 Subject: [PATCH] Update sync-panda-on-device.mjs --- .../tools/panda/sync-panda-on-device.mjs | 49 ++++++++++--------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/incremental/tools/panda/sync-panda-on-device.mjs b/incremental/tools/panda/sync-panda-on-device.mjs index 28a106912..867fa3a0f 100644 --- a/incremental/tools/panda/sync-panda-on-device.mjs +++ b/incremental/tools/panda/sync-panda-on-device.mjs @@ -32,11 +32,6 @@ async function execHDC(args, options = {}) { }) } -async function sendFileToDevice(src, dst) { - console.log("> Copy " + src + " to " + dst) - await execHDC(['hdc', 'file', 'send', src, dst], { instantLogging: true }) -} - console.log("> Connected device:") let out = await execHDC(['list', 'targets'], { instantLogging: true }) + "" if (out.indexOf("Empty") !== -1) { @@ -60,43 +55,49 @@ if (out.indexOf("No such file") !== -1) { console.log("> Device arch: " + arch) -const LIB_DIR = arch === "arm32" ? "lib" : "lib64" +const LIB_ARCH = arch === "arm32" ? "lib" : "lib64" + +const PANDA_LIB_ROOT = path.join(__dirname, `node_modules/@panda/sdk/ohos_${arch}/lib`) +const PANDA_ETS_ROOT = path.join(__dirname, `node_modules/@panda/sdk/ets`) const SEND_RULES = [ { + root: PANDA_LIB_ROOT, src: "libetsnative.so", - dst: `/system/${LIB_DIR}/ndk/libetsnative.z.so` + dst: `/system/${LIB_ARCH}/ndk/libetsnative.z.so` }, { + root: PANDA_LIB_ROOT, src: "libets_interop_js_napi.so", - dst: `/system/${LIB_DIR}/module/libets_interop_js_napi.z.so` + dst: `/system/${LIB_ARCH}/module/libets_interop_js_napi.z.so` }, { - src: "../../ets/etsstdlib.abc", - dst: "/system/etc/etsstdlib.abc" + root: PANDA_LIB_ROOT, + src: ".so", + dst: `/system/${LIB_ARCH}` }, { - src: ".so", - dst: `/system/${LIB_DIR}` + root: PANDA_ETS_ROOT, + src: "etsstdlib.abc", + dst: "/system/etc/etsstdlib.abc" } ] -const RULE_APPLIED = (file_name, rule) => file_name.endsWith(rule.src) - -const PANDA_LIB_PATH = path.join(__dirname, `node_modules/@panda/sdk/ohos_${arch}/lib`) +const RULE_APPLIED = (fileName, rule) => fileName.endsWith(rule.src) -for (const file of fs.readdirSync(PANDA_LIB_PATH)) { - if (file.endsWith(".so")) { - const rule = SEND_RULES.filter(rule => RULE_APPLIED(file, rule))[0] - await sendFileToDevice(path.join(PANDA_LIB_PATH, file), rule.dst) - } +const SEND_FILE = async fileName => { + const rule = SEND_RULES.filter(rule => RULE_APPLIED(fileName, rule))[0] + console.log("> Send " + fileName + " to " + rule.dst) + await execHDC(['hdc', 'file', 'send', path.join(rule.root, fileName), rule.dst], { instantLogging: true }) } -const STD_LIB = "../../ets/etsstdlib.abc" -const STD_LIB_SRC = path.join(PANDA_LIB_PATH, STD_LIB) -const STD_LIB_DST = "/system/etc/etsstdlib.abc" -await sendFileToDevice(STD_LIB_SRC, STD_LIB_DST) +for (const file of fs.readdirSync(PANDA_LIB_ROOT)) { + if (file.endsWith(".so")) + await SEND_FILE(file) +} + +await SEND_FILE("etsstdlib.abc") console.log("> Reboot device...") await execHDC(['hdc', 'shell', 'reboot'], { instantLogging: true }) -- Gitee