按yaml文件中心生成相关脚本 我直接给你 全套 YAML 中心版最终成品 完全按照你的要求: 配置文件:app_versions.yaml(最佳格式) 智能脚本:有则更新版本,无则新增 APK 下载脚本:AAOS 自动下载所有 APK 路径:不带版本号 → CarLauncher.apk 全部可直接在 Linux 运行 1. 统一配置文件(最终版) app_versions.yaml yaml # AAOS 应用统一版本配置 # 自动更新 | 自动下载 | 自动编译 apps: - apk_name: "CarLauncher" version: "1.0.3" path: "packages/apps/Car/CarLauncher" repo_path: "aaos-apps/CarLauncher/1.0.3/CarLauncher.apk" - apk_name: "CarMedia" version: "2.1.0" path: "packages/apps/Car/CarMedia" repo_path: "aaos-apps/CarMedia/2.1.0/CarMedia.apk" 2. 智能脚本:有则更新,无则新增(最终版) update_app.sh bash 运行 #!/bin/bash set -e # 使用: ./update_app.sh if [ $# -ne 2 ]; then echo "用法: $0 " exit 1 fi APP="$1" VER="$2" YAML="app_versions.yaml" # 检查工具 command -v yq >/dev/null || { echo "请先安装 yq:" echo "sudo wget https://github.com/mikefarah/yq/releases/download/v4.44.2/yq_linux_amd64 -O /usr/bin/yq && sudo chmod +x /usr/bin/yq" exit 1 } # 判断是否存在 EXIST=$(yq ".apps[] | select(.apk_name == \"$APP\") | length" $YAML) if [ "$EXIST" -ge 1 ]; then echo " 应用已存在,更新版本..." yq -i ".apps[] |= (select(.apk_name == \"$APP\") | .version = \"$VER\")" $YAML yq -i ".apps[] |= (select(.apk_name == \"$APP\") | .repo_path = \"aaos-apps/$APP/$VER/$APP.apk\")" $YAML else echo " 应用不存在,自动新增..." yq -i ".apps += [{ \"apk_name\": \"$APP\", \"version\": \"$VER\", \"path\": \"packages/apps/Car/$APP\", \"repo_path\": \"aaos-apps/$APP/$VER/$APP.apk\" }]" $YAML fi echo -e "\n✅ 成功:$APP -> $VER" echo " 已更新 $YAML" 3. AAOS 自动下载所有 APK 脚本 download_apps.py python 运行 import yaml import subprocess # 配置 ARTIFACTORY_BASE = "http://你的artifactory:8081/artifactory" YAML_FILE = "app_versions.yaml" with open(YAML_FILE) as f: data = yaml.safe_load(f) for app in data["apps"]: name = app["apk_name"] version = app["version"] path = app["path"] repo = app["repo_path"] url = f"{ARTIFACTORY_BASE}/{repo}" out = f"{path}/{name}.apk" print(f"\n=== 下载 {name} ===") print(f"版本:{version}") print(f"地址:{url}") print(f"保存:{out}") subprocess.run(f"mkdir -p {path}", shell=True) subprocess.run(f"curl -f -o {out} {url}", shell=True, check=True) print("\n✅ 全部下载完成!") 4. 快速使用教程(超级简单) ① 第一次使用先安装工具 bash 运行 sudo wget https://github.com/mikefarah/yq/releases/download/v4.44.2/yq_linux_amd64 -O /usr/bin/yq sudo chmod +x /usr/bin/yq sudo apt install python3-pip -y pip3 install pyyaml ② 给脚本权限 bash 运行 chmod +x update_app.sh ③ 改版本 或 新增 APP(一条命令) bash 运行 ./update_app.sh CarLauncher 1.0.4 ④ 下载所有 APK 到 AAOS bash 运行 python3 download_apps.py ✅ 最终效果(完全满足你) 配置文件:YAML 干净、易读、支持注释 版本管理:一条命令自动更新 / 新增 路径:aaos-apps/APP/VERSION/APP.apk 文件名:无版本号 → CarLauncher.apk AAOS:自动下载、自动编译