Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
TestToolChainDemo
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
dsq
TestToolChainDemo
Commits
69b794b6
Commit
69b794b6
authored
Mar 19, 2026
by
dsq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
时间汇总
parent
58a25ff3
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
63 additions
and
12 deletions
+63
-12
runOhosApp-Mac-auto.sh
runOhosApp-Mac-auto.sh
+63
-12
No files found.
runOhosApp-Mac-auto.sh
View file @
69b794b6
...
...
@@ -177,6 +177,8 @@ echo "------------------------------------------------------------"
TOTAL_COUNT
=
0
SUCCESS_COUNT
=
0
ERR_MSGS
=()
PUSH_TIMES
=()
set
+e
for
TARGET_ID
in
"
${
DEVICE_IDS
[@]
}
"
;
do
for
BUILD_MODE
in
"
${
BUILD_MODES
[@]
}
"
;
do
...
...
@@ -207,7 +209,9 @@ while true; do
fi
DEL_RETRY
=
$((
DEL_RETRY
+
1
))
if
[
$DEL_RETRY
-ge
5
]
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:清理未完全,HAP包=
${
HAP_EXISTS
}
, libs中间产物=
${
LIBS_EXISTS
}
,须清光后再打包)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:清理未完全,HAP包=
${
HAP_EXISTS
}
, libs中间产物=
${
LIBS_EXISTS
}
,须清光后再打包)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
continue
2
fi
sleep
1
...
...
@@ -242,11 +246,15 @@ elif [ "$PLATFORM" = "iosSimulatorArm64" ]; then
./gradlew :composeApp:linkDebugFrameworkIosSimulatorArm64 2>&1 |
tee
"
$GRADLE_OUT
"
GRADLE_RET
=
${
PIPESTATUS
[0]
}
else
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:不支持的平台
$PLATFORM
)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:不支持的平台
$PLATFORM
)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
continue
fi
if
[
$GRADLE_RET
-ne
0
]
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:Gradle publish 未成功,exit code
$GRADLE_RET
)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:Gradle publish 未成功,exit code
$GRADLE_RET
)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
echo
" >>> 命令错误输出(含具体文件/配置报错):"
[
-f
"
$GRADLE_OUT
"
]
&&
cat
"
$GRADLE_OUT
"
|
tail
-80
rm
-f
"
$GRADLE_OUT
"
...
...
@@ -266,7 +274,9 @@ else
fi
if
[
!
-d
"
$HARMONY_APP_DIR
"
]
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:harmonyApp 目录不存在
$HARMONY_APP_DIR
)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:harmonyApp 目录不存在
$HARMONY_APP_DIR
)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
continue
fi
cd
"
$HARMONY_APP_DIR
"
...
...
@@ -274,7 +284,9 @@ HVIGOR_OUT="/tmp/runOhos_hvigor_$$.out"
ohpm
install
--all
2>&1 |
tee
"
$HVIGOR_OUT
"
OHPM_RET
=
${
PIPESTATUS
[0]
}
if
[
$OHPM_RET
-ne
0
]
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:ohpm install 失败)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:ohpm install 失败)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
echo
" >>> 命令错误输出:"
[
-f
"
$HVIGOR_OUT
"
]
&&
cat
"
$HVIGOR_OUT
"
|
tail
-80
rm
-f
"
$HVIGOR_OUT
"
...
...
@@ -286,7 +298,9 @@ rm -f "$HVIGOR_OUT"
node
"
$DEVECO_HOME
/tools/hvigor/bin/hvigorw.js"
--sync
-p
product
=
default
-p
buildMode
=
"
$BUILD_MODE
"
--analyze
=
normal
--parallel
--incremental
--daemon
2>&1 |
tee
"
$HVIGOR_OUT
"
HVIGOR_SYNC_RET
=
${
PIPESTATUS
[0]
}
if
[
$HVIGOR_SYNC_RET
-ne
0
]
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:hvigor --sync 失败,请查看下方输出中的文件/配置名)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:hvigor --sync 失败,请查看下方输出中的文件/配置名)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
echo
" >>> 命令错误输出:"
[
-f
"
$HVIGOR_OUT
"
]
&&
cat
"
$HVIGOR_OUT
"
|
tail
-80
rm
-f
"
$HVIGOR_OUT
"
...
...
@@ -302,7 +316,9 @@ else
fi
HVIGOR_ASM_RET
=
${
PIPESTATUS
[0]
}
if
[
$HVIGOR_ASM_RET
-ne
0
]
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:hvigor assembleHap 失败,请查看下方输出中的文件/配置名)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:hvigor assembleHap 失败,请查看下方输出中的文件/配置名)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
echo
" >>> 命令错误输出:"
[
-f
"
$HVIGOR_OUT
"
]
&&
cat
"
$HVIGOR_OUT
"
|
tail
-80
rm
-f
"
$HVIGOR_OUT
"
...
...
@@ -318,12 +334,16 @@ SIGNED_HAP="entry-default-signed.hap"
HAP_FILE
=
"
$HAP_DIR
/
$SIGNED_HAP
"
# Check if signed HAP package exists
if
[
!
-f
"
$HAP_FILE
"
]
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:未找到已签名 HAP 包
$HAP_FILE
)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:未找到已签名 HAP 包
$HAP_FILE
)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
cd
"
$SCRIPT_DIR
"
continue
fi
if
!
echo
"
$AVAILABLE_TARGETS
"
|
grep
-q
"
$TARGET_ID
"
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:设备离线或未连接)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:设备离线或未连接)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
cd
"
$SCRIPT_DIR
"
continue
fi
...
...
@@ -347,7 +367,9 @@ if echo "$INSTALL_OUTPUT" | grep -qE "failed|Failed|error|Error"; then
sleep
5
fi
if
echo
"
$INSTALL_OUTPUT
"
|
grep
-qE
"failed|Failed|error|Error"
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:安装失败 bm install)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:安装失败 bm install)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
echo
" >>>
$INSTALL_OUTPUT
"
cd
"
$SCRIPT_DIR
"
continue
...
...
@@ -368,7 +390,9 @@ END_TIME=$(date +%s)
AA_START_RESULT
=
$?
# Check if screen lock error
if
echo
"
$AA_START_OUTPUT
"
|
grep
-q
"10106102
\|
screen is locked"
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:设备屏幕已锁定,请解锁后重试)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:设备屏幕已锁定,请解锁后重试)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
cd
"
$SCRIPT_DIR
"
continue
fi
...
...
@@ -391,7 +415,9 @@ while [ $COUNT -lt $MAX_WAIT ]; do
done
if
[
-z
"
$APP_PID
"
]
;
then
echo
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:应用在
${
MAX_WAIT
}
s 内未启动,请检查设备与安装结果)"
_e
=
"错误的
$TARGET_ID
设备
$BUILD_MODE
模式(原因:应用在
${
MAX_WAIT
}
s 内未启动,请检查设备与安装结果)"
echo
"
$_e
"
ERR_MSGS+
=(
"
$_e
"
)
echo
" >>> aa start 输出:
$AA_START_OUTPUT
"
cd
"
$SCRIPT_DIR
"
continue
...
...
@@ -404,6 +430,7 @@ ELAPSED_TOTAL=$((END_TIME - START_TIME))
echo
" - SO build time:
$((
ELAPSED_SO/60
))
m
$((
ELAPSED_SO%60
))
s (
${
ELAPSED_SO
}
s)"
echo
" - HAP package and push time:
$((
ELAPSED_HAP_PUSH/60
))
m
$((
ELAPSED_HAP_PUSH%60
))
s (
${
ELAPSED_HAP_PUSH
}
s)"
echo
" - Total time:
$((
ELAPSED_TOTAL/60
))
m
$((
ELAPSED_TOTAL%60
))
s (
${
ELAPSED_TOTAL
}
s)"
PUSH_TIMES+
=(
"
$TARGET_ID
|
$BUILD_MODE
| SO:
${
ELAPSED_SO
}
s HAP+push:
${
ELAPSED_HAP_PUSH
}
s 总:
${
ELAPSED_TOTAL
}
s"
)
echo
"
$TARGET_ID
设备
$BUILD_MODE
模式 打包成功"
((
SUCCESS_COUNT++
))
...
...
@@ -413,6 +440,7 @@ cd "$SCRIPT_DIR"
done
done
set
-e
SCRIPT_END_TIME
=
$(
date
+%s
)
# ====================== [7. Packing Result Statistics] ======================
echo
""
...
...
@@ -427,5 +455,28 @@ if [ "$TOTAL_COUNT" -gt 0 ]; then
else
echo
" 通过率 Rate: N/A"
fi
echo
" 脚本总耗时:
$((
SCRIPT_END_TIME
-
START_TIME
))
s"
echo
"=============================================="
if
[
${#
ERR_MSGS
[@]
}
-gt
0
]
;
then
echo
""
echo
"----------------------------------------------"
echo
-e
"
\0
33[33m▶ 错误信息汇总
\0
33[0m"
echo
"----------------------------------------------"
for
_line
in
"
${
ERR_MSGS
[@]
}
"
;
do
echo
"
$_line
"
done
echo
"----------------------------------------------"
fi
if
[
${#
PUSH_TIMES
[@]
}
-gt
0
]
;
then
echo
""
echo
"----------------------------------------------"
echo
-e
"
\0
33[32m▶ Push Time 汇总
\0
33[0m"
echo
"----------------------------------------------"
for
_line
in
"
${
PUSH_TIMES
[@]
}
"
;
do
echo
"
$_line
"
done
echo
"----------------------------------------------"
fi
echo
""
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment