Skip to content

LyraVoid/FolkSplash

Repository files navigation

FolkSplash

🇺🇸 English | 🇨🇳 简体中文


简体中文

OPPO/Realme/OnePlus 设备 splash.img 开机启动镜像可视化工具。

基于 Flutter 构建,支持 Android 和 Windows 平台。

功能特性

  • 解包 splash.img 镜像文件,查看开机动画图片
  • 替换开机动画图片(支持 PNG/JPG/BMP 格式)
  • 多种分辨率适配模式:
    • 直接上传: 直接上传原图,不进行任何转换
    • 跟随原图分辨率: 保持原图尺寸自动裁剪适配
    • 自动适配: 根据设备最大分辨率自动调整
    • 自定义分辨率: 手动指定宽度和高度
  • 打包并生成新的 splash.img 镜像
  • 批量导出图片为 ZIP 压缩包
  • 中英双语界面

设备兼容性

重要: 本工具仅支持搭载 高通骁龙 (Qualcomm Snapdragon) 处理器的设备。联发科 (MediaTek) 及其他平台设备不适用。

下载

前往 Releases 页面下载最新版本。

技术栈

  • 框架: Flutter 3.41 + Dart 3.11
  • 状态管理: Provider
  • 国际化: intl
  • 压缩: archive (Deflate / Gzip)
  • 图片处理: 自定义 BMP 编解码 + dart:ui

项目结构

folksplash_flutter/
├── lib/
│   ├── src/                    # 核心库
│   │   ├── types.dart              # 数据类型定义
│   │   ├── splash_parser.dart      # splash.img 解析器
│   │   ├── splash_packer.dart      # splash.img 打包器
│   │   ├── bmp.dart                # BMP 编解码
│   │   ├── bmp_image.dart          # BMP 显示组件
│   │   ├── gzip.dart               # Gzip 压缩/解压缩
│   │   ├── utils.dart              # 通用工具函数
│   │   └── native_file_picker.dart # 原生文件选择器 (Android)
│   ├── widgets/                # UI 组件
│   │   ├── main_layout.dart        # 主布局 (导航栏 + 主题切换)
│   │   ├── file_upload.dart        # 文件上传
│   │   ├── image_gallery.dart      # 图片列表
│   │   ├── image_card.dart         # 图片卡片
│   │   ├── replace_image_dialog.dart # 图片替换对话框
│   │   └── pack_button.dart        # 打包/导出按钮
│   ├── screens/                # 页面
│   │   ├── home_page.dart          # 首页
│   │   └── about_page.dart         # 关于页面
│   ├── splash_store.dart       # 状态管理
│   └── l10n/                   # 国际化
│       └── app_localizations.dart  # 中英文语言包
├── android/                   # Android 平台代码
└── windows/                   # Windows 平台代码

开发环境

  • Flutter >= 3.41
  • Dart >= 3.11
  • Android SDK (编译 Android)
  • Visual Studio 2022 (编译 Windows)

从源码构建

git clone https://github.com/LyraVoid/FolkSplash.git
cd FolkSplash
flutter pub get

# Android
flutter build apk --release

# Windows
flutter build windows --release

相关项目

许可证

AGPL-3.0


English

Visual tool for OPPO/Realme/OnePlus device splash.img boot logo images.

Built with Flutter, supporting Android and Windows platforms.

Features

  • Unpack splash.img boot image files and view boot animation images
  • Replace boot animation images (supports PNG/JPG/BMP formats)
  • Multiple resolution adaptation modes:
    • Direct Upload: Upload original image without any conversion
    • Follow Original Resolution: Maintain original dimensions with auto-crop
    • Auto Adapt: Automatically adjust based on device maximum resolution
    • Custom Resolution: Manually specify width and height
  • Pack and generate new splash.img image
  • Batch export images as ZIP archive
  • Bilingual interface (Chinese and English)

Device Compatibility

Important: This tool only supports devices with Qualcomm Snapdragon processors. Devices with MediaTek or other platforms are not supported.

Download

Go to the Releases page to download the latest version.

Technology Stack

  • Framework: Flutter 3.41 + Dart 3.11
  • State Management: Provider
  • Internationalization: intl
  • Compression: archive (Deflate / Gzip)
  • Image Processing: Custom BMP encoding/decoding + dart:ui

Project Structure

folksplash_flutter/
├── lib/
│   ├── src/                    # Core libraries
│   │   ├── types.dart              # Data type definitions
│   │   ├── splash_parser.dart      # splash.img parser
│   │   ├── splash_packer.dart      # splash.img packer
│   │   ├── bmp.dart                # BMP encoding/decoding
│   │   ├── bmp_image.dart          # BMP display widget
│   │   ├── gzip.dart               # Gzip compression/decompression
│   │   ├── utils.dart              # Common utility functions
│   │   └── native_file_picker.dart # Native file picker (Android)
│   ├── widgets/                # UI components
│   │   ├── main_layout.dart        # Main layout (navigation + theme)
│   │   ├── file_upload.dart        # File upload
│   │   ├── image_gallery.dart      # Image gallery
│   │   ├── image_card.dart         # Image card
│   │   ├── replace_image_dialog.dart # Image replace dialog
│   │   └── pack_button.dart        # Pack/export button
│   ├── screens/                # Pages
│   │   ├── home_page.dart          # Home page
│   │   └── about_page.dart         # About page
│   ├── splash_store.dart       # State management
│   └── l10n/                   # Internationalization
│       └── app_localizations.dart  # Language pack (ZH/EN)
├── android/                   # Android platform code
└── windows/                   # Windows platform code

Development Requirements

  • Flutter >= 3.41
  • Dart >= 3.11
  • Android SDK (for Android builds)
  • Visual Studio 2022 (for Windows builds)

Build from Source

git clone https://github.com/LyraVoid/FolkSplash.git
cd FolkSplash
flutter pub get

# Android
flutter build apk --release

# Windows
flutter build windows --release

Related Projects

License

AGPL-3.0

About

Visual tool for unpacking, viewing, replacing, and repacking OPPO/Realme/OnePlus splash.img boot logo images.

Resources

License

Stars

Watchers

Forks

Contributors