From 655f017988f5ba2768b615995ff21e6a8c7a5fd6 Mon Sep 17 00:00:00 2001 From: mahaonan Date: Tue, 5 Dec 2023 17:04:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=B2=E7=BB=8F=E7=AD=BE=E5=90=8D=E8=BF=87?= =?UTF-8?q?=E7=9A=84=E5=B7=A5=E7=A8=8B=EF=BC=8C=E5=86=8D=E6=AC=A1=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E6=97=B6=EF=BC=8C=E4=BD=BF=E7=94=A8=E5=8E=9F=E6=9C=89?= =?UTF-8?q?=E7=AD=BE=E5=90=8D=E6=96=87=E4=BB=B6=E8=BF=9B=E8=A1=8C=E7=AD=BE?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: mahaonan --- .../flutter_tools/lib/src/ohos/hvigor.dart | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/packages/flutter_tools/lib/src/ohos/hvigor.dart b/packages/flutter_tools/lib/src/ohos/hvigor.dart index cb07a97e40..32d6f64163 100644 --- a/packages/flutter_tools/lib/src/ohos/hvigor.dart +++ b/packages/flutter_tools/lib/src/ohos/hvigor.dart @@ -173,25 +173,37 @@ Future signHap(LocalFileSystem localFileSystem, String unsignedFile, } final Directory resultBackup = localFileSystem .directory(globals.fs.path.join(signToolHome, 'result.bak')); + + String projectHome = globals.fs.directory(getOhosBuildDirectory()).path; + final Directory projectSignHistory = localFileSystem + .directory(globals.fs.path.join(projectHome, 'signature')); + + bool isNeedCopySignHistory = true; //如果result.bak不存在,代表是第一次构建,拷贝result.bak。 以后每一次result,都从result.bak还原 if (!resultBackup.existsSync()) { copyDirectory(result, resultBackup); - } else { + } else if (!projectSignHistory.existsSync()) { result.deleteSync(recursive: true); copyDirectory(resultBackup, result); + } else { + isNeedCopySignHistory = false; + copyDirectory(projectSignHistory, result); } - final List cmdCreateCertAndProfile = []; - cmdCreateCertAndProfile.add('python3'); - cmdCreateCertAndProfile - .add(globals.fs.path.join(signToolHome, 'autosign.py')); - cmdCreateCertAndProfile.add('createAppCertAndProfile'); + if (isNeedCopySignHistory) { + final List cmdCreateCertAndProfile = []; + cmdCreateCertAndProfile.add('python3'); + cmdCreateCertAndProfile + .add(globals.fs.path.join(signToolHome, 'autosign.py')); + cmdCreateCertAndProfile.add('createAppCertAndProfile'); - await invokeCmd( - command: cmdCreateCertAndProfile, - workDirectory: signToolHome, - processManager: globals.processManager, - logger: logger); + await invokeCmd( + command: cmdCreateCertAndProfile, + workDirectory: signToolHome, + processManager: globals.processManager, + logger: logger); + copyDirectory(result, projectSignHistory); + } final List cmdSignHap = []; if (isWindows) { -- Gitee