|
1 | 1 | ---
|
2 |
| -title: "光奏 (GuangZou) - Android APK 开发文档" |
| 2 | +title: "光奏 (GuangZou) - 功能与特性文档" |
3 | 3 | date: 2025-07-27 08:00:00 +0800
|
4 | 4 | categories: [开发,Android]
|
5 |
| -tags: [APK,Kotlin] |
| 5 | +tags: [APK,Kotlin,光遇] |
6 | 6 | ---
|
7 | 7 |
|
8 |
| -#### **简介** |
| 8 | +一款基于 **Kotlin** 开发的《光·遇》自动弹奏应用。无需 Root 权限,通过**无障碍服务**或 **Shizuku** 两种模式实现高精度模拟触控。UI 遵循 Material Design,风格简洁并支持动态取色。 |
9 | 9 |
|
10 |
| -`光奏 (GuangZou)` 是一款专为《光·遇》玩家设计的安卓端自动弹奏辅助工具。项目采用 **Kotlin** 语言进行原生开发,旨在提供一个功能强大、高度可定制且无需 Root 权限的弹奏体验。 |
| 10 | +详情请访问项目的 GitHub 主页:[Dong-Jing-Yu/GuangZou](https://github.com/Dong-Jing-Yu/GuangZou) |
11 | 11 |
|
12 |
| -应用内置两种模拟触控方案(**无障碍服务**与 **Shizuku**),以满足不同用户对精度和稳定性的需求。UI 设计遵循 Material Design 规范,在不同安卓版本上可自适应主题与配色,确保界面简洁、美观、易用。 |
| 12 | +## ✨ 主要特性 |
13 | 13 |
|
14 |
| -**项目地址**: [https://github.com/Dong-Jing-Yu/GuangZou](https://github.com/Dong-Jing-Yu/GuangZou) |
| 14 | + * **双触摸引擎**:支持标准的**无障碍服务**模式和更高效的 **Shizuku (ADB)** 高级模式,可随时切换。 |
| 15 | + * **高度自定义界面**: |
| 16 | + * **智能主题**:在 Android 12+ 上支持 **Material You** 动态取色,低版本系统亦有优化的暗色模式。 |
| 17 | + * **悬浮窗定制**:可自由调整主悬浮窗和最小化悬浮球的**不透明度**,并支持**自定义悬浮球图标**。 |
| 18 | + * **精准适配**: |
| 19 | + * **分辨率管理**:内置多种分辨率布局方案,应用会为你自动匹配,也支持手动选择,确保在不同设备上的按键定位准确。 |
| 20 | + * **键位预览**:在开始弹奏前,可开启按键位置预览,方便对齐游戏内乐器界面。 |
| 21 | + * **现代化的体验**:完全使用 Kotlin 和最新的 Android Jetpack 组件开发,性能与体验俱佳。 |
15 | 22 |
|
16 |
| ------ |
| 23 | +## 📱 应用信息 |
17 | 24 |
|
18 |
| -### **核心功能** |
| 25 | +| 属性 | 值 | |
| 26 | +|--------------|-----------------------------------------| |
| 27 | +| **应用名称** | 光奏 | |
| 28 | +| **英文名** | GuangZou | |
| 29 | +| **包名** | `com.GuangZou.sky` | |
| 30 | +| **平台** | Android | |
| 31 | +| **开发语言** | Kotlin | |
| 32 | +| **最低 SDK** | API 28 (Android 9.0) | |
| 33 | +| **构建工具** | Kotlin DSL (`build.gradle.kts`) | |
| 34 | +| **Root** | ❌ (完全不需要) | |
19 | 35 |
|
20 |
| - * **🎹 双模式触控引擎**: |
| 36 | +## 🎨 主题与配色 |
21 | 37 |
|
22 |
| - * **无障碍服务**: 标准模式,稳定性与兼容性俱佳,满足绝大部分日常使用场景。 |
23 |
| - * **Shizuku (ADB)**: 高级模式,提供更低延迟、更精准的底层模拟触控,适合对演奏精度有极致要求的用户。 |
| 38 | + * **Android 12+**: 使用 **Material You** 动态壁纸取色。 |
| 39 | + * **Android 10-11**: 启用系统的 **Force Dark** 模式。 |
| 40 | + * **Android 9**: 使用内置的 **Dark Theme** 暗色主题。 |
24 | 41 |
|
25 |
| - * **✨ 强大的悬浮窗系统**: |
| 42 | +## 🔐 权限说明 |
26 | 43 |
|
27 |
| - * **主控制面板**: 集成乐谱信息展示与播放/暂停/停止等核心控制功能。 |
28 |
| - * **琴谱选择器**: 在独立的悬浮窗口中选择乐谱,操作互不干扰。 |
29 |
| - * **最小化悬浮球**: 可将主窗口最小化为可自定义图标的悬浮球,减少屏幕遮挡。 |
| 44 | +应用需要以下权限以正常工作: |
30 | 45 |
|
31 |
| - * **🎨 高度自定义选项**: |
| 46 | + * **无障碍服务 (核心)**:用于执行模拟点击操作,是实现自动弹奏的基础。这是最主要的权限。 |
| 47 | + * **存储访问**:用于读取存放于指定目录下的琴谱文件。 |
| 48 | + * **悬浮窗**:用于显示控制播放/暂停/停止的浮动操作面板。 |
| 49 | + * **Shizuku (可选)**:若想使用更高效的 `ADB` 触摸模式,则需要授予此权限。不授予也不影响无障碍模式的正常使用。 |
32 | 50 |
|
33 |
| - * **主题外观**: 自适应系统,支持 Material You、夜间模式等。 |
34 |
| - * **分辨率校准**: 内置多种屏幕分辨率布局,用户可根据设备情况自由选择,确保按键位置精确。 |
35 |
| - * **个性化设置**: 自由调整主悬浮窗与悬浮球的透明度、自定义悬浮球图标等。 |
| 51 | +## 🎼 琴谱格式 |
36 | 52 |
|
37 |
| - * **📂 智能琴谱管理**: |
| 53 | + * **路径**:请将琴谱文件放置在 **`/storage/emulated/0/光奏/谱/`** 目录下。 |
38 | 54 |
|
39 |
| - * 自动扫描并解析指定目录下的 `json` 琴谱文件。 |
40 |
| - * 在主界面以可收缩列表形式清晰展示琴谱的标题、作者和BPM信息。 |
| 55 | + * **格式**:适配来自 **Sky Studio** 等工具导出的**未加密 `JSON` 格式**琴谱。应用会读取文件中的元数据以在列表中展示。 |
41 | 56 |
|
42 |
| - * **🎯 可视化键位预览**: |
| 57 | + 一个基础的琴谱文件结构如下: |
43 | 58 |
|
44 |
| - * 一键开启按键位置预览,在屏幕上显示半透明的坐标点,方便用户将悬浮窗与游戏内的乐器界面精确对齐。 |
45 |
| - |
46 |
| ------ |
47 |
| - |
48 |
| -### **📱 应用信息** |
49 |
| - |
50 |
| -| 属性 | 值 | |
51 |
| -|--------------|-----------------------------------------------| |
52 |
| -| **应用名称** | 光奏 | |
53 |
| -| **英文名** | GuangZou | |
54 |
| -| **包名** | `com.GuangZou.sky` | |
55 |
| -| **平台** | Android | |
56 |
| -| **开发语言** | Kotlin | |
57 |
| -| **最低 SDK** | API 28 (Android 9.0) | |
58 |
| -| **构建工具** | Kotlin DSL (`build.gradle.kts`) | |
59 |
| -| **ADB 工具** | [Shizuku](https://shizuku.rikka.app/zh-hans/) (可选) | |
60 |
| -| **Root** | ❌ | |
61 |
| - |
62 |
| ------ |
63 |
| - |
64 |
| -### **🎨 配色方案** |
65 |
| - |
66 |
| - * **Android 12+**: 使用 **Material You** 动态取色,与系统壁纸和主题融为一体。 |
67 |
| - * **Android 10-11**: 启用系统的 **Force Dark** (强制深色) 模式。 |
68 |
| - * **Android 9**: 使用内置的 **Dark Theme** (深色主题)。 |
69 |
| - |
70 |
| ------ |
71 |
| - |
72 |
| -### **🔐 权限说明** |
73 |
| - |
74 |
| -#### 必要权限 |
75 |
| - |
76 |
| - * **无障碍服务**: 应用的核心,用于执行模拟屏幕点击操作来弹奏乐曲。 |
77 |
| - * **存储访问**: 用于扫描、读取本地琴谱 (`.json`) 文件。 |
78 |
| - * **悬浮窗**: 用于显示浮动控制面板和悬浮球,实现在游戏顶层的交互操作。 |
79 |
| - |
80 |
| -#### 可选权限 |
81 |
| - |
82 |
| - * **Shizuku**: 用于启用“高级触摸模式”,通过 ADB 指令执行更底层的模拟点击。若不使用此模式,则无需授予该权限。 |
83 |
| - |
84 |
| ------ |
85 |
| - |
86 |
| -### **🎼 琴谱规格** |
87 |
| - |
88 |
| - * **存储路径**: `/storage/emulated/0/光奏/谱/` |
89 |
| - * **文件格式**: 应用适配基于 `JSON` 格式的未加密琴谱文件。`JSON` 文件的基本结构应如下所示: |
90 | 59 | ```json
|
91 | 60 | {
|
92 | 61 | "name": "琴谱标题",
|
93 | 62 | "author": "作者",
|
94 | 63 | "bpm": 120,
|
95 | 64 | "notes": [
|
96 |
| - // 音符数据... |
| 65 | + // ... 音符数据 ... |
97 | 66 | ]
|
98 | 67 | }
|
99 |
| - ``` |
| 68 | + ``` |
| 69 | + |
| 70 | +## ⚙️ 功能设置 |
| 71 | + |
| 72 | +应用内提供了丰富的设置选项,让你能根据自己的习惯进行配置: |
| 73 | + |
| 74 | + * **页面外观**: 切换应用的主题。 |
| 75 | + * **分辨率选择**: 手动选择一个最适合你设备的按键布局方案。 |
| 76 | + * **触摸方式**: 在 `无障碍服务` 和 `Shizuku` 两种模拟触摸模式之间切换。 |
| 77 | + * **悬浮窗/悬浮球不透明度**: 分别调整主窗口和最小化小球的透明度。 |
| 78 | + * **悬浮球图标**: 个性化设置最小化状态下的悬浮球图标。 |
0 commit comments