杰理 SDK 文档中心
首页
首页
  • 概述与快速开始

    • 项目简介与功能总览
    • 运行环境与快速开始
    • 工程结构与文档布局
  • 架构与核心机制

    • 插件架构与原生平台桥接
    • 基类管理器与常量体系
    • 事件流与接收通知机制
  • 蓝牙连接与设备管理

    • 蓝牙连接与状态管理
    • 设备信息、配置与按键设置
    • 双设备连接与多链路管理
    • 数据传输与自定义命令
  • 音乐与媒体控制

    • 设备音乐与手机音乐播放控制
    • 音量与音频输出管理
  • 音效与音频模式

    • 均衡器与音效调节
    • 音频模式与降噪(ANC)设置
    • Auracast 音频广播
  • 设备功能控制

    • 闹钟管理
    • FM 收音机控制
    • 灯光控制
    • 充电仓与彩屏仓管理
  • 示例应用:杰理之家 Demo

    • 应用框架与交互组件
    • 设置、多语言与调试
  • 接口参考与文档中心

    • 发送接口参考
    • 接收接口与事件参考
    • 官方文档与集成指南

工程结构与文档布局

Flutter-JL_Home(杰理之家 Demo)是珠海市杰理科技股份有限公司基于 RCSP 协议(远程控制系统协议) 打造的蓝牙控制开发平台。本文档讲解该仓库的顶层目录组织、code/ 参考工程、doc/ 文档中心与 libs/ 核心接口的布局方式,以及 README 文档体系的导航约定。

Purpose and Scope

本页面向首次接触该仓库的开发者,回答三个问题:

  1. 仓库里有什么 —— 根目录、code/、doc/、libs/ 各目录的职责边界;
  2. 工程内部如何组织 —— JieLi_Home_Demo Flutter 工程与 Android 原生层、AAR 依赖库的摆放方式;
  3. 文档如何布局 —— README 九个章节的导航结构、中英文文档对应关系、文档中心的定位。

以下内容不属于本页范围,由其他目录页或官方文档中心覆盖:

  • RCSP 发送/接收接口的协议细节 —— 见 doc/ 目录中的《Jieli Home Demo (Flutter) - Send/Receive Interface Introduction》及 libs/ 目录;
  • 具体功能(音乐控制、EQ、ANC、OTA 等)的实现 —— 见功能模块对应页面;
  • 环境搭建与调试操作 —— 见「快速开始」与「调试技巧」相关页面。

Overview

仓库定位

Flutter-JL_Home 是一个 Flutter 应用示例 + SDK 集成参考 混合形态的仓库,而不是一个纯库工程。它面向三类场景:

应用类型典型产品
音箱类产品智能音箱、蓝牙音箱、便携音箱、Auracast 音箱
耳机类产品TWS 耳机、头戴式耳机、挂脖耳机、彩屏仓、翻译耳机
音频设备蓝牙音频接收器、音频解码器、声卡、录音笔

来源:README.md

Demo 覆盖的功能接口包括音乐控制、设备设置、文件浏览、闹钟管理、FM 控制、灯光控制、音效调节、按键设置、查找设备、ANC 设置、彩屏仓控制、AI 翻译与自定义命令(详见 README.md 功能表)。

仓库形态的关键设计意图

  • 示例与参考分离:code/ 是可直接导入 Android Studio 的完整 Flutter 工程;libs/ 与 doc/ 是配套的接口说明与收发接口描述,避免把协议文档塞进代码工程,降低示例工程的耦合度。
  • 中英双语文档并行:根目录同时维护 README.md(中文)与 README_EN.md(英文),doc/ 内同样有中英文双份接口文档,保证国内外开发者看到的信息一致。
  • 原生依赖收敛:Android 端以预编译 .aar 形式集中存放在 code/JieLi_Home_Demo/android/libs/,通过 Gradle 直接引用,开发者无需自行编译 SDK。

Architecture

下图展示仓库顶层目录的角色划分与依赖关系(基于 README.md 工程结构章节 与仓库实际文件列表):

flowchart TD
    subgraph sg_Root["仓库根目录 Flutter-JL_Home"]
        README["README.md<br/>中文总览与导航"]
        README_EN["README_EN.md<br/>英文总览与导航"]
        LICENSE["LICENSE<br/>Apache 2.0"]
    end

    subgraph sg_Code["code/ 参考源码工程"]
        DEMO["JieLi_Home_Demo<br/>杰理之家 Demo (Flutter)"]
        subgraph sg_Demo["Flutter 工程内部"]
            PUBSPEC["pubspec.yaml / pubspec.lock<br/>Flutter 依赖清单"]
            ANALYSIS["analysis_options.yaml<br/>Lint 规则"]
            ANDROID["android/<br/>原生层 + AAR 依赖"]
            DOCR["README.md<br/>工程级说明"]
        end
    end

    subgraph sg_Doc["doc/ 文档中心"]
        DOC_ZH["接口说明(中文)"]
        DOC_EN["接口说明(英文)"]
        DOC_TXT["ReadMe.txt 说明"]
    end

    subgraph sg_Libs["libs/ 核心收发接口"]
        RX["Receive Interface"]
        TX["Send Interface"]
    end

    README -->|"入口导航"| README_EN
    README -->|"指向"| DEMO
    README -->|"指向"| DOC_ZH
    README -->|"指向"| RX
    README -->|"指向"| TX
    DEMO --> PUBSPEC
    DEMO --> ANALYSIS
    DEMO --> ANDROID
    DEMO --> DOCR
    DOC_ZH <-->|"中英对照"| DOC_EN

各目录职责

目录/文件职责说明
README.md中文总入口概述、运行环境、快速开始、工程结构、配置、调试、社区、版本、许可证九个章节
README_EN.md英文总入口与中文 README 章节一一对应
LICENSE开源协议Apache License 2.0
code/参考源码工程内含 JieLi_Home_Demo Flutter 项目
doc/文档中心发送/接收接口介绍(中/英)与 ReadMe.txt
libs/核心收发接口Receive Interface(接收接口)与 Send Interface(发送接口)

说明:doc/ 与 libs/ 目录的内容以 README 工程结构章节描述为准;当前仓库快照中可直接确认的文件实体集中在 code/ 下。若在 Git 客户端中未见 doc/、libs/ 实体,请以 README.md 的目录树为准并结合 Tag 版本核对。

主内容:code/JieLi_Home_Demo 工程内部布局

code/ 目录下只有一个工程 JieLi_Home_Demo,它是仓库的核心可运行示例。从仓库文件列表可以确认其顶层组件:

Flutter 工程元文件

文件作用
pubspec.yaml / pubspec.lockFlutter/Dart 依赖清单与锁定版本
analysis_options.yaml静态分析(Lint)规则配置
LICENSE工程级许可证(Apache 2.0)
README.md工程级说明

Android 原生层

android/ 子目录承载原生构建配置与资源:

  • build.gradle / settings.gradle:Gradle 构建脚本;
  • proguard-rules.pro:混淆规则;
  • src/main/AndroidManifest.xml:Android 清单文件;
  • src/main/assets/charging_case/...:彩屏仓相关资源(如 320x172/boot/ANI1.gif、screen/anim/lock/ANI2.gif),用于充电仓屏幕保护与开机动画;
  • schemas/com.jieli.bt.sdk.tool.room.AppDatabase/5.json:Room 数据库 Schema,版本 5,说明 SDK 内部使用 Room 持久化数据;
  • libs/:预编译 SDK 依赖(AAR)。

AAR 依赖库清单

android/libs/ 集中存放杰理各功能模块的预编译库,是理解 Demo 能力边界的重要依据:

AAR 库对应能力
jl_bluetooth_rcsp_V4.2.0_40250-release.aarRCSP 蓝牙控制核心协议
jl_bt_ota_V1.10.0_10932-release.aar蓝牙 OTA 升级
jl_audio_V1.3.0_10301-release.aar / jl_audio_v2_V1.0.0_9-release.aar / jl_audio_decode_V2.1.0_20012-release.aar音频播放与解码
jl_eq_V1.1.0_10101-release.aar均衡器(EQ)音效
jl_http_V1.3.0_10300-release.aarHTTP 网络能力
jl_file_transfer_V1.0.0-release.aar文件传输
BmpConvert / GifConvert图片格式转换(彩屏仓素材)
jl-component-lib_V1.4.0_10400-release.aar通用组件库
jldecryption_v0.4-release.aar数据解密

依据:仓库 code/JieLi_Home_Demo/android/libs/ 文件列表。版本号随 SDK 迭代更新,集成时以本仓库 Tag 为准。

这种「核心协议 AAR + 能力模块 AAR + 组件 AAR」的分层方式,使 Demo 可以按需裁剪:只需要基础控制的客户可以只引入 jl_bluetooth_rcsp,需要音效的再叠加 jl_eq。

主内容:doc/ 与 libs/ 布局

doc/ —— 文档中心

按 README 描述,doc/ 包含:

  • 《Jieli Home Demo (Flutter) - Send/Receive Interface Introduction.md》(中文):发送/接收接口介绍;
  • 《Jieli Home Demo (Flutter) - Send/Receive Interface Introduction_en.md》(英文):同上内容的英文版;
  • ReadMe.txt:说明文件。

设计意图:发送/接收接口是 RCSP 协议面向业务的关键抽象,单独成文便于在 Demo 代码之外维护协议级说明,也便于与 libs/ 目录的接口源码对照阅读。

libs/ —— 核心收发接口

  • Receive Interface:杰理之家 Demo 的接收接口(设备 → App 方向);
  • Send Interface:杰理之家 Demo 的发送接口(App → 设备方向)。

收发分离的目录命名与协议文档一一对应,开发者按「发送什么指令 / 接收什么回调」两条路径检索代码,降低理解成本。

主内容:文档导航约定(README 九章结构)

根目录 README 是仓库的「地图」,其章节顺序即推荐的阅读路径:

章节内容面向读者
一、概述平台定位、支持产品、功能列表所有人
二、运行环境OS/硬件/开发平台要求集成方
三、快速开始克隆、导入、插件引用、运行集成方
四、工程结构顶层目录树所有人
五、配置说明Demo 配置要点集成方
六、调试技巧日志查看与问题排查集成方
七、社区与支持官网、Issues、资源链接所有人
八、版本历史版本号与修改记录集成方
九、许可证Apache 2.0所有人

来源:README.md 目录

中英文 README 章节完全对齐(英文版为 1. Overview 至 9. License),因此跨语言协作时可按章节号互指。

核心流程:从克隆到接入的导航路径

仓库的文档布局设计了一条明确的「上手流水线」。新开发者按以下顺序前进即可完成从了解仓库到跑通 Demo 的闭环:

sequenceDiagram
    participant Dev as 开发者
    participant Repo as 仓库根目录
    participant Doc as doc/ 文档中心
    participant Demo as code/JieLi_Home_Demo
    participant Libs as libs/ 接口目录

    Dev->>Repo: 阅读 README.md(一、概述)
    Repo-->>Dev: 确认产品/功能适用性
    Dev->>Repo: 二、运行环境 + 三、快速开始
    Repo-->>Dev: 环境要求与克隆/导入步骤
    Dev->>Demo: 导入 code/JieLi_Home_Demo
    Demo-->>Dev: 运行示例 App
    Dev->>Doc: 查阅收发接口文档(doc/)
    Doc-->>Dev: 协议级接口说明
    Dev->>Libs: 对照 libs/ 收发接口源码
    Libs-->>Dev: 具体调用示例
    Dev->>Repo: 六、调试技巧(日志排查)
    Repo-->>Dev: Logcat / Xcode Console

各步骤要点:

  1. 读概述:通过功能表判断 Demo 是否覆盖目标产品(音箱/耳机/音频设备);
  2. 查环境:确认 Android 6.0+ / iOS 13.0+,硬件需支持 RCSP 的 SDK(AC701N、AC707N、AC697N、AC696N、AC695N 等,见 README.md 运行环境);
  3. 导入工程:Android Studio 打开 code/JieLi_Home_Demo;
  4. 看文档:协议层疑问进入 doc/ 的中英文接口文档;
  5. 对源码:收发细节对照 libs/ 目录;
  6. 查日志:Android 用 Logcat、iOS 用 Xcode Console(README.md 调试技巧)。

使用示例

以下示例均从仓库实际文件中提取。

示例 1:克隆仓库与目录定位

git clone https://github.com/Jieli-Tech/Flutter-JL_Home.git
cd Flutter-JL_Home

Source: README.md

克隆后按 README「四、工程结构」的目录树定位三类内容:

Flutter-JL_Home/
├── code/                                    # 参考源码工程文件夹
│   └── JieLi_Home_Demo                      # 杰理之家Demo(Flutter)项目源码
├── doc/                                     # 文档文件夹
│   ├── Jieli Home Demo (Flutter) - Send/Receive Interface Introduction_en.md   # 英文文档
│   ├── Jieli Home Demo (Flutter) - Send/Receive Interface Introduction.md      # 中文文档
│   └── ReadMe.txt                           # 说明文件
└── libs/                                    # 核心收发接口文件夹
    ├── Receive Interface                    # 杰理之家Demo(Flutter)的接收接口
    └── Send Interface                       # 杰理之家Demo(Flutter)的发送接口

Source: README.md

示例 2:插件引用(接入方集成方式)

接入方工程通过以下 pubspec.yaml 片段声明杰理蓝牙插件:

  plugin:
    platforms:
      android:
        package: com.jieli.bt.sdk
        pluginClass: JlHomePlugin
      ios:
        pluginClass: JlHomePlugin

Source: README.md

该片段揭示了两条工程组织信息:Android 端插件包名为 com.jieli.bt.sdk(与 Room 数据库 Schema 路径 com.jieli.bt.sdk.tool.room.AppDatabase 一致),插件类为 JlHomePlugin,iOS 端使用同一插件类名,即 Flutter 层 API 跨平台统一。

示例 3:版本与许可证信息定位

| 版本 | 日期 | 修改记录 |
|------|------|----------|
| 1.0.0 | 2026/07/02 | 初始版本|

Source: README.md

版本历史位于 README 第八章,许可证(Apache License 2.0)位于第九章并附完整协议文本(README.md L197-L215)。

配置要点(仓库与工程层面)

仓库本身不提供运行时配置,但文档布局中明确定义了环境与工程级配置项,汇总如下(依据 README.md):

配置项类型默认/要求说明
操作系统运行环境Android 6.0+ / iOS 13.0+需支持 BLE 功能
硬件 SDK运行环境支持 RCSP 功能AC701N、AC707N、AC697N、AC696N、AC695N 等
开发平台工具链Android Studio(支持 Flutter)建议使用最新版
语言支持工具链Dart / Kotlin / Swift提供完整 API 支持
Android 插件包名集成配置com.jieli.bt.sdkFlutter 插件声明
插件类名集成配置JlHomePluginAndroid/iOS 共用
开源协议工程配置Apache License 2.0见根目录 LICENSE

边界情况与注意事项

以下事项基于仓库实际文件状态与 README 描述整理:

  1. 目录实体与文档描述的差异:根目录可直接确认的文件实体为 README.md、README_EN.md、LICENSE 与 code/ 下的工程文件;doc/、libs/ 的目录树以 README「四、工程结构」为准。若在某一提交/Tag 中未见这些目录,请核对当前 Tag 版本,避免误判仓库缺失内容。
  2. 版本号依赖:android/libs/ 中各 AAR 版本号(如 jl_bluetooth_rcsp_V4.2.0、jl_bt_ota_V1.10.0)与 SDK 发版节奏绑定,集成方应跟随仓库 Tag 升级,勿混用不同版本的 AAR。
  3. 中英文文档一致性:README.md 与 README_EN.md、doc/ 中中英文接口文档按章节一一对应,但翻译内容可能存在滞后;以中文版为准时请留意英文版更新时间。
  4. 资源体积:code/JieLi_Home_Demo/android/src/main/assets/charging_case/ 内含 GIF 动画资源(如 ANI1.gif、ANI2.gif),会增大 APK 体积;仅做基础音箱控制的客户可按需裁剪彩屏仓相关资源。

扩展点

仓库的工程结构为二次开发预留了清晰的位置:

  • 新增业务功能:在 code/JieLi_Home_Demo 的 Flutter 层新增页面/逻辑,通过 JlHomePlugin 调用原生能力;
  • 接入新硬件能力:以 android/libs/ 的 AAR 分层为参照,新增对应能力模块(如新的编解码、传输协议库);
  • 自定义命令:README 概述中明确支持「自定义命令」客户拓展功能,相关收发接口在 libs/ 的 Send/Receive Interface 中扩展;
  • 文档贡献:新增协议说明时遵循 doc/ 的中英文双文档约定,并在根目录 README 目录树中同步登记。

Related Links

  • README.md(中文总览)
  • README_EN.md(英文总览)
  • LICENSE(Apache 2.0)
  • JieLi_Home_Demo 工程 README
  • JieLi_Home_Demo pubspec.yaml
  • 相关目录页:快速开始 / 配置说明 / 调试技巧 / 收发接口说明(Send/Receive Interface)
Prev
运行环境与快速开始