灵界 OS 6.0 稳定版:窗口渲染少一次确认,安装包多一份资源清单

2026-10-02 26 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:7 分钟

灵界 OS 6.0 稳定版的改动集中在两个容易影响日常体验的环节:窗口渲染优化不必每次开启都重复确认,应用安装器则可以通过可选的 2.txt 将指定资源文件带入应用。前者减少重复操作,后者让安装包的资源声明更加明确。

窗口渲染优化:记住的是“允许直接开启”

开启窗口渲染优化时,确认弹窗新增了“不再提示”选项。它的状态规则很清楚:

  • 勾选“不再提示”并确认后,系统会记录这个选择;下次开启窗口渲染优化时将直接生效,不再弹窗。
  • 不勾选时,本次仍可正常开启,但系统不会记住该决定;下次开启时还会再次询问。
  • 执行恢复出厂设置后,这条记录会被清除,之后首次开启仍需重新确认。

这里需要区分“功能开关”和“确认偏好”:不再提示并不等于永久开启窗口渲染优化,它只是跳过以后开启该功能时的确认步骤。

对于需要频繁切换渲染模式的用户,这能减少一次操作;对于共享设备、测试设备或可能误触设置的场景,保留确认弹窗反而更稳妥。如果没有明确需求,不必急着勾选“不再提示”。

2.txt:安装包中的可选资源清单

应用安装器现在支持可选的 2.txt 文件。安装包中没有它时,原有安装流程不受影响;存在时,则可以每行写入一个已经包含在压缩包里的文件名,安装器会在安装过程中将这些文件带入应用。

例如,一个安装包可以按下面的方式组织:

demo-app.zip
├── main.bin
├── icon.png
├── config.json
└── 2.txt

其中 2.txt 的内容为:

icon.png
config.json

需要注意,2.txt 是资源清单,不是下载列表。清单中列出的文件必须已经存在于压缩包内;如果写入了不存在的资源,安装时会报错。因此,生成安装包时最好先做一次自动校验,避免因为拼写、大小写或打包遗漏导致安装失败。

可以这样制作并检查安装包

下面是一个可以直接运行的 Bash 示例。运行前需要系统已安装 zip 和 unzip。示例采用较保守的校验方式:把 2.txt 中的每一行视为压缩包内的完整文件名,并进行区分大小写的精确匹配。实际项目应根据安装器支持的路径格式调整文件名。

#!/usr/bin/env bash
set -euo pipefail

rm -rf demo-app demo-app.zip
mkdir -p demo-app

printf 'demo executable\n' > demo-app/main.bin
printf 'fake png data\n' > demo-app/icon.png
printf '{"theme":"dark"}\n' > demo-app/config.json

cat > demo-app/2.txt <<'EOF'
icon.png
config.json
EOF

(
  cd demo-app
  zip -q ../demo-app.zip main.bin icon.png config.json 2.txt
)

archive="demo-app.zip"
manifest="2.txt"
entries="$(unzip -Z1 "$archive")"

if ! grep -Fqx -- "$manifest" <<< "$entries"; then
  echo "未提供 $manifest,按普通安装包处理"
  exit 0
fi

failed=0
while IFS= read -r file || [[ -n "$file" ]]; do
  file="${file%$'\r'}"

  if [[ -z "$file" ]]; then
    echo "错误:$manifest 中存在空行"
    failed=1
    continue
  fi

  if grep -Fqx -- "$file" <<< "$entries"; then
    echo "OK: $file"
  else
    echo "缺少资源: $file" >&2
    failed=1
  fi
done < <(unzip -p "$archive" "$manifest")

if [[ "$failed" -ne 0 ]]; then
  echo "安装包校验失败" >&2
  exit 1
fi

echo "安装包校验通过: $archive"

把这段脚本放进 CI 流水线后,只要 2.txt 引用了未被打包的文件,构建任务就会提前失败,而不是等到用户安装时才暴露问题。

如果项目中存在子目录,也建议在生成清单前确认安装器究竟要求“文件名”还是“压缩包内完整路径”。在没有更明确规则时,不要自行加入注释、通配符或网络地址,也不要假设空行会被忽略。

升级与打包检查清单

升级到灵界 OS 6.0 后,可以按以下方式决定是否采用新行为:

  • 经常手动开启窗口渲染优化,而且设备仅由可信用户使用:可以勾选“不再提示”。
  • 设备用于共享、演示或兼容性测试:建议保留确认弹窗。
  • 需要额外资源随应用安装:在压缩包中加入 2.txt,每行只声明一个已存在的文件。
  • 不需要额外资源:无需创建空的 2.txt,直接沿用原安装包即可。
  • 发布前:检查文件名拼写、大小写和实际打包内容,并在 CI 中执行清单校验。
  • 恢复出厂设置后:不要假设“不再提示”仍然有效,应准备重新确认相关设置。

这次更新没有改变所有用户的默认工作流,而是提供了两个更精细的选择:系统设置可以记住确认偏好,应用包也可以显式声明需要带入的资源。真正需要关注的是状态边界——恢复出厂设置会清除偏好,而 2.txt 中的每个条目都必须能在压缩包里找到。


相关推荐