UNPKG

cadb

Version:

安卓/鸿蒙系统截图/录屏工具

101 lines (94 loc) 2.23 kB
/** * Created by Niki on 2025/5/7 20:42. * Email: m13296644326@163.com */ const {exec} = require('child_process'); const {logRed, logGreen, shellConfigs} = require('../constants'); const hvigorwShellPath = '/Applications/DevEco-Studio.app/Contents/tools/hvigor/bin/hvigorw'; const devEcoSdkHome = '/Applications/DevEco-Studio.app/Contents/sdk'; function buildHar(cwd, harName) { const cmdParams = [ 'assembleHar', '-p', 'product=default', '-p', `module="${harName}@default"`, '-p', 'debuggable=false', '--no-daemon', '--no-parallel', '--no-incremental', ].join(' '); return runBuildCmd(cwd, cmdParams, 'BUILD SUCCESSFUL in '); } function buildHar2(cwd, harName) { const cmdParams = [ '--mode', 'module', '-p', 'product=default', '-p', `module="${harName}@default"`, 'assembleHar', '--analyze=normal', '--parallel', '--incremental', '--daemon', ].join(' '); return runBuildCmd(cwd, cmdParams, 'BUILD SUCCESSFUL in '); } /* * 等效于点击ide的"sync now"按钮 * */ function doProjectSyncNow(cwd) { const cmdParams = [ '--sync', '-p', 'product=default', '-p', 'buildMode=debugWithFlutterRelease', '--analyze=normal', '--parallel', '--incremental', '--daemon', ].join(' '); return runBuildCmd(cwd, cmdParams, 'Finished ::init... after '); } function runBuildCmd(cwd, cmdParams, successTagStr) { return new Promise(resolve => { const res = exec( `export DEVECO_SDK_HOME=${devEcoSdkHome} && ${hvigorwShellPath} ${cmdParams}`, { ...shellConfigs, cwd, }, ); const {stderr, stdout} = res; let buildSuccess = false; stderr.on('data', err => { console.log(err.toString()); }); stdout.on('data', d => { const text = d.toString(); console.log(text); if (text.includes(successTagStr)) { buildSuccess = true; } }); stdout.on('end', () => { if (buildSuccess) { logGreen('编译成功'); resolve(true); } else { logRed('编译失败'); resolve(false); } }); }); } module.exports = { buildHar, buildHar2, doProjectSyncNow, };