从零搭建番星壁纸:纯静态壁纸站 + 动态壁纸渲染引擎

番星

番星壁纸站的前世是一个纯静态动漫图库(旧版文章保留完整搭建记录),上线半年后我把它改版成以动态视频壁纸为主的方向,新地址是 https://tu.xingbox.me。

动态壁纸的核心问题是:网页只能展示图片和视频,但要让一段视频变成安卓桌面真正能动起来的壁纸,需要一个「渲染引擎」常驻后台解码。网上常见做法是让壁纸 APP 自己带一套播放器,体积大、广告多。我的思路是拆成两层:网页端负责浏览和下载视频文件,一个不到 200KB 的轻量渲染核心专门负责把视频画到系统壁纸层,各司其职。


现在是什么

改版后的番星壁纸站主要提供:

  • 视频壁纸浏览与下载 — 在网页端看预览、一键下载原视频到本地
  • XK 壁纸引擎(约 198KB)— 动态壁纸渲染核心 APK,体积小、耗电极低,把下载的视频设成桌面或锁屏壁纸
  • MIUI 锁屏设置器(约 33KB)— 小米用户的辅助工具,非 MIUI 不需要
  • 番星去广告去更新版 — 原星空视频壁纸的去广告定制版(约 12MB),网页端已可直接浏览下载,APP 仅为保留原装设壁纸流程,非必须
  • 全程无广告、无账号、纯静态,零服务器成本

你可以把它理解成「一个帮你在手机上玩动态壁纸的工具箱」,核心优势是渲染引擎极轻、配套工具干净。


基础架构

技术栈

1
2
3
4
前端:HTML5 + CSS3 + JavaScript(零框架)
部署:EdgeOne Pages(免费静态托管)
域名:tu.hakimi.de5.net
图片源:外部图床(list.yppp.net)

目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
anime-images/
├── index.html # 主页
├── css/
│ └── style.css # 样式文件
├── js/
│ └── main.js # 核心逻辑
├── images/
│ ├── landscape.txt # 横图 URL 列表
│ └── portrait.txt # 竖图 URL 列表
├── api/
│ ├── random.html # 随机图片 API(前端实现)
│ └── random.js # 随机图片 API(Edge Function)
├── docs/
│ └── index.html # API 文档
└── edgeone.json # EdgeOne 部署配置

核心原理

1. 网页端:纯静态资源站

页面本身就是一个资源索引页,没有数据库、没有后端。所有内容直接写进 HTML,图片列表和分类通过静态文件维护。

布局上继承了旧版的 CSS Columns 瀑布流:桌面 4 列、平板 3 列、手机 2 列,浏览器自动处理不同尺寸的素材排列。视频预览用 <video> 标签直接播放,点击详情页后可以下载原文件到手机本地。

2. 动态壁纸:为什么需要一个独立的渲染引擎

安卓系统的「壁纸」本质上是一张静态图片或一个由系统 WALLPAPER 服务管理的 Surface。普通视频播放器没法直接输出到这个 Surface。

常见的动态壁纸 APP(比如「星空视频壁纸」)是自己写了一套播放器 + 壁纸管理服务塞进去,体积大、广告多、后台耗电高。

XK 壁纸引擎的思路是做一个纯粹的壁纸渲染层:它不干别的事情,只负责接收一段视频文件地址,调用系统 WallpaperManager API 把视频解码后画到壁纸 Surface。整个 APK 只有 198KB,因为它不包含 UI、不包含资源管理、不包含任何网络请求——这些全部交给网页端。

3. 配套工具

  • XK 壁纸引擎(必装):视频 → 动态壁纸的渲染核心,后台常驻、解码视频、输出到系统壁纸层。不安装它,视频只能是个视频,不会动。
  • MIUI 锁屏设置器(仅小米需要):MIUI 锁屏壁纸有额外的封装层,需要通过这个工具桥接设到锁屏。其他品牌手机不需要。
  • 番星去广告去更新版(非必须):原星空视频壁纸 APP 的去广告、去更新弹窗定制版。网站已经可以直接浏览和下载壁纸了,这个 APP 只在你习惯用原装 APP 的「一键设壁纸」流程时才需要。

4. 桌面组件(Widgets)

教程页里提到的白色日历等小组件是安卓原生 Widget,长按桌面 → 小组件 → 找到壁纸 APP 提供的组件拖上去即可。这部分不需要额外开发,依赖系统原生能力。


部署流程

1. EdgeOne Pages 部署

壁纸站的 HTML + APK 托管都在 EdgeOne Pages,不需要服务器。部署配置包含资源缓存策略:CSS/JS/图片 1 年 immutable 缓存,HTML no-cache 确保更新即时生效。

2. 绑定自定义域名

主域名从 tu.hakimi.de5.net 迁移到了 tu.xingbox.me(博客统一用 xingbox.me 子域),在控制台添加 CNAME 即可。

3. APK 更新维护

配套 APK 直接放在站点的静态目录下,更新时替换文件重新部署,链接地址不变,用户重新下载就是新版。


用户怎么使用

作为壁纸素材站

直接打开 https://tu.xingbox.me,浏览视频壁纸、下载喜欢的视频到本地。

设置动态壁纸

  1. 在网页里找到喜欢的视频壁纸,下载到手机
  2. 安装 XK 壁纸引擎(约 198KB,必装)
  3. 在系统壁纸设置里选择动态壁纸,把下载的视频设为桌面 / 锁屏壁纸
  4. 小米手机额外装 MIUI 锁屏设置器(锁屏动态壁纸用)

引用素材

视频文件 URL 可以嵌入到其他项目或网页里使用,格式直接用 <video> 标签播放即可。


总结

番星壁纸站的核心思路是拆解职责:

  • 网页端:只负责浏览、展示、下载,零服务器、纯静态
  • 渲染层:不到 200KB 的 APK 专门处理视频 → 壁纸的解码和输出
  • 辅助工具:按机型按需安装,不强制捆绑

总成本依然是 0 元。EdgeOne Pages 免费托管静态站,APK 本身也靠同一套托管分发。

如果你对动态壁纸感兴趣,欢迎访问 https://tu.xingbox.me。


本文初版记录旧版图库搭建过程,2026-10-05 更新覆盖动态壁纸改版内容。

  • 标题: 从零搭建番星壁纸:纯静态壁纸站 + 动态壁纸渲染引擎
  • 作者: 番星
  • 创建于 : 2026-04-12 20:00:00
  • 更新于 : 2026-10-05 21:00:00
  • 链接: https://xingbox.me/anime-gallery-project/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。