首页
/ Linux版wiliwili打包指南:Debian软件包制作

Linux版wiliwili打包指南:Debian软件包制作

2026-04-22 09:48:30作者:田桥桑Industrious

wiliwili是一款专为手柄控制设计的第三方跨平台B站客户端,支持在PC、PSVita、PS4和Nintendo Switch等多种设备上运行。本文将通过需求分析、环境配置、核心流程、优化技巧和问题排查五个环节,帮助你从零开始制作适用于Debian系统的软件包,让更多Linux用户能够轻松体验这款应用。

一、需求分析:为什么需要打包Debian软件包

在Linux系统中,软件包是应用程序分发的主要形式。通过制作Debian软件包,用户可以通过apt等包管理工具一键安装wiliwili,无需手动处理依赖关系和文件路径配置。这不仅提升了用户体验,也便于应用的更新和维护。

预打包检查清单

开始前请确认以下条件已满足:

检查项 说明 状态
系统环境 Debian 10+ 或 Ubuntu 18.04+
开发工具 git、cmake、g++ 等编译工具
依赖库 libass、libmpv、libsdl2 等运行依赖
项目源码 已克隆 wiliwili 仓库

二、环境配置:搭建打包工作环境

环境配置是打包过程的基础,确保系统中安装了所有必要的工具和依赖项,为后续的编译和打包做好准备。

2.1 安装基础工具

首先安装打包所需的核心工具,包括编译工具链和Debian打包工具:

# 安装编译工具和依赖检查工具
sudo apt update && sudo apt install -y build-essential cmake git pkg-config

# 安装Debian打包工具
sudo apt install -y dpkg-dev dh-make fakeroot

💡 技巧提示:使用aptitude代替apt可以更智能地解决依赖冲突,安装命令:sudo apt install aptitude

2.2 安装运行必备组件

wiliwili依赖多个系统库,通过以下命令安装:

# 安装核心依赖库
sudo apt install -y libass9 libmpv1 libsdl2-2.0-0 libssl1.1 libwebp6 \
  libuchardet0 libpulse0 libdbus-1-3 libx11-6

⚠️ 注意:不同Debian版本的库版本可能不同,例如Debian 11使用libssl3,需要根据实际系统调整依赖名称。

2.3 获取项目源码

克隆wiliwili项目源码到本地:

git clone https://gitcode.com/GitHub_Trending/wi/wiliwili
cd wiliwili

三、核心流程:三阶段打包工作流

将打包过程分解为准备、构建和封装三个阶段,每个阶段专注于特定任务,使复杂的打包过程变得清晰可控。

3.1 准备阶段:整理打包资源

此阶段主要完成图标生成、桌面文件准备等打包前的资源整理工作。

3.1.1 生成应用图标

项目提供了图标生成脚本,可自动创建不同尺寸的图标文件:

# 进入脚本目录
cd scripts/linux

# 赋予执行权限并运行脚本
chmod +x gen_icons.sh
./gen_icons.sh

执行完成后,在icons目录下会生成16x16、24x24、32x32等多种尺寸的图标文件,如icons/16x16/cn.xfangfang.wiliwili.png

3.1.2 准备桌面文件

桌面文件cn.xfangfang.wiliwili.desktop定义了应用在桌面环境中的显示和启动方式,位于scripts/linux目录下,内容如下:

[Desktop Entry]
Name=wiliwili
Comment=A 3rd party bilibili client
Exec=wiliwili
Icon=cn.xfangfang.wiliwili
Terminal=false
Type=Application
Categories=AudioVideo;Audio;Video;

3.2 构建阶段:编译应用程序

使用CMake构建系统编译wiliwili应用程序,生成可执行文件。

# 返回项目根目录
cd ../../

# 创建构建目录并进入
mkdir -p build && cd build

# 生成Makefile,指定桌面平台
cmake .. -DPLATFORM_DESKTOP=ON -DCMAKE_BUILD_TYPE=Release

# 多线程编译
make -j$(nproc)  # -j$(nproc)表示使用所有可用CPU核心加速编译

💡 技巧提示:如果编译过程中遇到依赖缺失,使用dpkg -S命令查找缺失库的安装包,例如:dpkg -S libmpv.so.1

3.3 封装阶段:创建Debian软件包

按照Debian软件包规范,组织文件结构并生成.deb包。

3.3.1 构建目录结构

创建符合Debian标准的目录结构,将编译产物和资源文件放入正确位置:

# 创建打包工作目录
mkdir -p wiliwili-deb/DEBIAN
mkdir -p wiliwili-deb/usr/{bin,share/applications,share/icons/hicolor}

# 复制可执行文件
cp build/wiliwili wiliwili-deb/usr/bin/

# 复制桌面文件
cp scripts/linux/cn.xfangfang.wiliwili.desktop wiliwili-deb/usr/share/applications/

# 复制图标文件
cp -r scripts/linux/icons/* wiliwili-deb/usr/share/icons/hicolor/

3.3.2 创建控制文件

控制文件control是Debian包的核心元数据,创建并编辑wiliwili-deb/DEBIAN/control

Section: video
Priority: optional
Maintainer: Your Name <your.email@example.com>
Version: 1.5.2-1
Homepage: https://xfangfang.github.io/wiliwili/
Package: wiliwili
Architecture: amd64  # 根据实际架构修改,如arm64、i386
Depends: libass9, libmpv1, libsdl2-2.0-0, libssl1.1, libwebp6
Description: A third-party Bilibili client designed for controller users

3.3.3 生成Debian软件包

使用dpkg-deb命令构建deb包:

# 生成deb包,--build参数指定打包目录
dpkg-deb --build wiliwili-deb

成功后会在当前目录生成wiliwili-deb.deb文件,可通过以下命令安装测试:

sudo dpkg -i wiliwili-deb.deb

wiliwili主界面

wiliwili应用主界面展示,显示推荐视频和直播内容

四、优化技巧:提升软件包质量

4.1 跨架构适配方案

为不同CPU架构(如amd64、arm64)打包,需要调整编译和控制文件:

  1. 交叉编译环境:使用debootstrap创建目标架构的根文件系统

    sudo debootstrap --arch=arm64 buster ./arm64-root http://deb.debian.org/debian
    
  2. 修改控制文件:将Architecture字段改为目标架构,如arm64

  3. 测试架构兼容性:使用qemu-user-static在x86主机上运行arm程序

    sudo apt install qemu-user-static
    sudo cp /usr/bin/qemu-aarch64-static ./arm64-root/usr/bin/
    

4.2 最小化测试环境搭建

使用Docker快速创建干净的测试环境:

# 拉取Debian基础镜像
docker pull debian:buster

# 运行容器并挂载当前目录
docker run -it -v $(pwd):/work debian:buster /bin/bash

# 在容器内安装依赖并测试
cd /work
dpkg -i wiliwili-deb.deb || apt -f install  # 自动修复依赖问题

五、问题排查:常见打包失败案例库

5.1 依赖关系错误

症状:安装时提示"依赖关系未满足"
解决方案

  1. 使用apt-cache depends wiliwili检查依赖链
  2. 在控制文件中添加缺失的依赖项
  3. 对于版本冲突,使用Depends: libssl-dev (>= 1.1.0)指定版本范围

5.2 图标不显示

症状:安装后应用图标显示为默认图标
解决方案

  1. 确认图标路径正确:/usr/share/icons/hicolor/尺寸/apps/图标名.png
  2. 更新图标缓存:sudo update-icon-caches /usr/share/icons/hicolor/

5.3 可执行文件权限问题

症状:运行时提示"权限被拒绝"
解决方案

  1. 检查可执行文件权限:chmod 755 wiliwili-deb/usr/bin/wiliwili
  2. 在控制文件中添加Installed-Size字段,指定安装大小

5.4 编译失败:缺少头文件

症状:编译时提示"fatal error: mpv/client.h: 没有那个文件或目录"
解决方案

  1. 安装开发包:sudo apt install libmpv-dev
  2. 重新运行CMake生成Makefile

wiliwili视频播放界面

wiliwili视频播放界面,显示视频内容和弹幕交互

通过本文介绍的方法,你可以为Linux系统制作高质量的wiliwili Debian软件包。无论是桌面用户还是嵌入式设备用户,都能通过标准的包管理工具轻松安装和使用这款专为手柄优化的B站客户端。如果在打包过程中遇到其他问题,欢迎在项目的issue区交流讨论。

登录后查看全文
热门项目推荐
相关项目推荐