# BwSkinFileCreator **Repository Path**: leixiaoxing/BwSkinFileCreator ## Basic Information - **Project Name**: BwSkinFileCreator - **Description**: 皮肤包工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-06-18 - **Last Updated**: 2025-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BwSkinFileCreator 软件设计开发文档 ## 1. 项目概述 ### 1.1 项目简介 BwSkinFileCreator 是一款专为 Android 应用开发设计的皮肤包制作工具。该工具能够自动化地将 Android 应用的皮肤资源打包成 APK 格式的皮肤包,并支持将生成的皮肤包推送到设备或提交到 Git 仓库等功能。 ### 1.2 项目背景 在 Android 应用开发过程中,经常需要为应用制作不同主题的皮肤包。传统方式需要手动配置和打包,过程繁琐且容易出错。本工具旨在简化这一流程,提高开发效率。 ### 1.3 功能特点 - 自动化皮肤包制作 - 支持多种后续操作选项(打开目录、推送到设备、提交到 Git) - 图形化用户界面,易于操作 - 支持多项目配置管理 - 自动生成必要配置文件 ## 2. 技术架构 ### 2.1 技术栈 - **编程语言**: Java - **UI框架**: JavaFX - **构建工具**: Gradle - **界面描述**: FXML - **样式设计**: CSS ### 2.2 项目结构 ``` BwSkinFileCreator/ ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ ├── com/bw/skinfilecreator/ │ │ │ │ ├── bean/ # 数据实体类 │ │ │ │ ├── utils/ # 工具类 │ │ │ │ ├── CreatorApplication.java # 应用入口 │ │ │ │ ├── CreatorController.java # 主界面控制器 │ │ │ │ └── ProjectConfigController.java # 配置界面控制器 │ │ │ └── module-info.java │ │ └── resources/ │ │ ├── assets/ │ │ ├── css/ │ │ └── fxml/ │ └── test/ ├── gradle/ └── build.gradle ``` ### 2.3 核心组件 #### 2.3.1 主要类说明 ##### CreatorApplication 类 应用启动类,负责初始化 JavaFX 应用程序,加载主界面。 ##### CreatorController 类 主界面控制器,负责处理用户交互和协调各功能模块: - 管理项目配置的增删改查 - 控制皮肤包制作流程 - 处理用户界面事件 - 日志显示和管理 ##### ProjectConfigController 类 项目配置界面控制器,负责: - 管理单个项目配置信息的录入 - 验证用户输入 - 保存配置信息 ##### XxSKinUtil 类 核心工具类,负责皮肤包制作的核心逻辑: - 资源准备和清理 - 皮肤包构建 - 后续操作处理(推送设备、提交 Git 等) ##### ProjectConfigEntity 类 项目配置实体类,包含以下属性: - projectName: 项目名称 - packageName: 应用包名 - sourceProjectPath: 皮肤资源目录 - gitProjectPath: Git 仓库路径 - branchName: Git 分支名称 - skinFileName: 皮肤包文件名 ## 3. 功能模块设计 ### 3.1 用户界面模块 #### 3.1.1 主界面 主界面包含以下主要组件: - 项目选择下拉框 - 功能选项复选框(打开目录、推送设备、提交 Git) - 操作按钮(新建、编辑、删除、制作皮肤包等) - 日志显示区域 #### 3.1.2 项目配置界面 弹窗式配置界面,包含: - 项目基本信息输入(名称、包名等) - 路径选择器(源码路径、Git 路径) - 皮肤包名称选择(day.skin/night.skin) ### 3.2 皮肤包制作模块 #### 3.2.1 资源准备阶段 1. 检查并解压皮肤工程模板 2. 清理临时目录 3. 复制皮肤资源到模板工程 4. 生成必要的配置文件(AndroidManifest.xml) 5. 修改 build.gradle 文件中的命名空间 #### 3.2.2 皮肤包构建阶段 1. 执行 Gradle 命令进行构建 2. 重命名生成的 APK 文件 #### 3.2.3 后续处理阶段 根据用户选择执行相应操作: - 打开输出目录 - 推送皮肤包到设备 - 提交皮肤包到 Git 仓库 ### 3.3 配置管理模块 #### 3.3.1 项目配置管理 - 支持多个项目配置的存储和管理 - 配置信息持久化到本地文件 - 支持配置的增删改查操作 #### 3.3.2 工具配置管理 - 记录用户常用设置 - 保存功能选项状态 ### 3.4 工具模块 #### 3.4.1 文件操作工具 提供常用的文件操作功能: - 文件复制、删除 - 目录操作 - 文件读写 #### 3.4.2 Git 操作工具 封装 Git 相关操作: - 代码拉取 - 分支切换 - 文件添加和提交 - 代码推送 ## 4. 核心业务流程 ### 4.1 皮肤包制作流程 ```mermaid graph TD A[开始制作] --> B[资源准备] B --> C[清理模板工程] C --> D[复制皮肤资源] D --> E[生成配置文件] E --> F[修改命名空间] F --> G[构建皮肤包] G --> H[执行Gradle命令] H --> I[重命名APK] I --> J{是否自动处理?} J -->|是| K[执行后续操作] J -->|否| L[结束] K --> M{推送设备?} M -->|是| N[推送皮肤包] M --> O{提交Git?} O -->|是| P[提交到Git仓库] P --> Q[结束] N --> O O -->|否| R{打开目录?} R -->|是| S[打开输出目录] S --> Q R -->|否| Q ``` ### 4.2 项目配置管理流程 1. 用户点击"新建"或"编辑"按钮 2. 弹出项目配置窗口 3. 用户填写或修改配置信息 4. 验证输入信息的有效性 5. 保存配置到本地文件 6. 更新主界面的项目列表 ## 5. 数据存储设计 ### 5.1 配置文件存储 项目采用文件方式存储配置信息: - 项目配置存储位置: `%APPDATA%\com.bw.skinfilecreator\project_cache` - 工具配置存储位置: `%APPDATA%\com.bw.skinfilecreator\util_cache` - 皮肤工程缓存位置: `%APPDATA%\com.bw.skinfilecreator\SkinFactory` ### 5.2 数据格式 所有配置数据均采用 JSON 格式存储,便于读写和维护。 ## 6. 界面设计 ### 6.1 主界面设计 主界面采用简洁直观的设计风格,主要分为以下几个区域: - 项目选择区:包含项目下拉选择框和相关操作按钮 - 功能选项区:包含三个复选框用于选择后续操作 - 操作按钮区:包含主要功能按钮 - 日志显示区:实时显示操作日志 ### 6.2 配置界面设计 配置界面以模态弹窗形式展示,采用表单布局: - 文本输入框:用于输入文本信息 - 路径选择器:带有浏览按钮的文本框,方便选择目录 - 单选按钮组:用于选择皮肤包名称 ## 7. 异常处理 ### 7.1 环境检查 应用启动时会检查必要的环境配置: - 检查 ANDROID_HOME 环境变量是否设置 ### 7.2 错误处理机制 - 关键操作都有详细的日志记录 - 出现错误时会在界面上给出明确提示 - 对于可恢复的错误尽量自动处理 ## 8. 部署与运行 ### 8.1 运行环境要求 - Windows 系统(目前仅支持 Windows) - Java 运行环境 (JRE 11+) - Android SDK 并配置 ANDROID_HOME 环境变量 ### 8.2 构建与部署 1. 使用 Gradle 构建项目 2. 打包成可执行的 JAR 文件或 EXE 文件 3. 在目标机器上运行,首次运行会自动创建配置目录 ## 9. 使用说明 ### 9.1 初始配置 1. 确保已安装 Java 运行环境 2. 配置 ANDROID_HOME 环境变量指向 Android SDK 目录 3. 启动应用程序 ### 9.2 创建项目配置 1. 点击"新建"按钮打开配置窗口 2. 填写项目名称和其他必要信息 3. 选择相应的目录路径 4. 点击"保存"按钮 ### 9.3 制作皮肤包 1. 在主界面选择要制作皮肤包的项目 2. 选择需要的后续操作选项 3. 点击"制作皮肤包"按钮 4. 查看日志区域了解制作进度和结果 ## 10. 维护与扩展 ### 10.1 可维护性设计 - 模块化设计,各功能相对独立 - 详细的日志记录便于问题排查 - 配置与代码分离,便于调整 ### 10.2 可扩展性设计 - 采用接口化设计,便于功能扩展 - 插件化架构预留,可支持更多后续操作 - 配置驱动,新增功能可通过配置开启