# Android-JL_OTA **Repository Path**: Jieli-Tech/Android-JL_OTA ## Basic Information - **Project Name**: Android-JL_OTA - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 21 - **Forks**: 8 - **Created**: 2021-05-27 - **Last Updated**: 2025-08-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Android-JL_OTA The bluetooth OTA for Android ## 快速开始 为了帮助开发者快速接入杰理OTA方案,请开发前详细阅读SDK开发文档: [杰理OTA外接库开发文档(Android)](https://doc.zh-jieli.com/Apps/Android/ota/zh-cn/master/index.html)。 ## 接入答疑 针对开发者反馈的常见问题进行统一答疑,开发者遇到问题时,可以先参考 [常见问题答疑](https://doc.zh-jieli.com/Apps/Android/ota/zh-cn/master/other/qa.html)。
如果还是无法解决问题,请提交issue,我们将尽快回复。 ## 更新日志 | 日期 | 版本号 | 发布内容 | 负责人 | | ---------- | ---------------------- | ------------------------------------------------------------ | ------------- | | 2025/08/11 | APP_V1.8.1_SDK_V1.10.0 | 1. 修复 Android 14+手机存储权限申请失败问题
2. 修复局域网文件传输 IP 地址错误的问题 | 钟卓成 | | 2025/06/04 | APP_V1.8.0_SDK_V1.10.0 | 1. 修复 SPP 方式单备份 OTA 失败问题
2. 增加Android 14的兼容处理
3. 重构APP的UI框架 | 钟卓成 | | 2024/01/26 | APP_V1.7.1_SDK_V1.9.3 | 1. 增加x86 和 x86_64的平台支持
2. 修复BLE发数变慢的问题 | 钟卓成 | | 2023/03/29 | APP_V1.7.0_SDK_V1.9.2 | 1. 修复拼包出错导致丢失数据问题
2. 增加Android 13的兼容处理 | 钟卓成 | | 2022/12/17 | APP_V1.6.0_SDK_V1.9.0 | 1. 修复设备回连失败的问题
2. 修复 SPP 方式 OTA 失败
3. 修复双模同地址设备 OTA 失败
4. 修复 TWS 耳机单备份 OTA 失败
5. 支持多设备升级(去掉单例使用, 流程独立)
6. 增加Android 11的兼容处理 | 钟卓成 | | 2022/04/07 | APP_V1.5.0_SDK_V1.6.0 | 1. 增加新回连方式
2. 增加设备启动的协议 MTU 调整
3. 修复多线程发命令,SN 相同的问题
4. 修复 RCSP 认证流程数据异常问题 | 张焕明/钟卓成 | ## 压缩包文件结构说明 ```tex apk --- 测试APK ├── JLOTA_V1.8.1_10807-debug.apk code --- 演示程序源码 ├── 参考Demo源码工程 doc --- 开发文档 ├── 杰理OTA外接库(Android)开发文档链接 libs --- 核心库 ├── jl_bt_ota_V1.10.0_10931-release └── jl_bt_ota_V1.10.0_10932-release ``` ## 使用说明 1. 打开APP(初次打开应用,需要授予对应权限)
2. 拷贝升级文件到手机固定的存放位置 `手机根目录/Android/data/com.jieli.otasdk/files/upgrade/`
3. 连接升级目标设备
4. 选择目标的升级文件,开始OTA升级 ## 升级方式说明 1. 客户可以选择基于jl_bt_ota的SDK开发,参考 ``com.jieli.otasdk/tool/ota/``。 | 库名 | 优势 | 劣势 | | --- | --- | --- | | jl_bt_ota | 1. 固化OTA流程,不参与连接流程,方便客户改动
2.不影响客户原因协议,可以部分功能接入 | 1. 需要客户实现连接流程和数据透传等接口
2. 接入相对复杂 | **设备通讯方式:** 默认是BLE,可选SPP,需要**固件**支持。 ## OTA升级参数说明 **OTAManager** ```java val bluetoothOption = BluetoothOTAConfigure() //选择通讯方式 bluetoothOption.priority = BluetoothOTAConfigure.PREFER_BLE //是否需要自定义回连方式(默认是false,使用库内回连机制,如需要自定义回连方式,设置为true, 由客户自行实现回连机制) bluetoothOption.isUseReconnect = !JL_Constant.NEED_CUSTOM_RECONNECT_WAY //是否启用设备认证流程(与固件工程师确认) bluetoothOption.isUseAuthDevice = JL_Constant.IS_NEED_DEVICE_AUTH //设置BLE的MTU(已过时,不建议使用) bluetoothOption.mtu = BluetoothConstant.BLE_MTU_MIN //是否需要改变BLE的MTU(已过时,不建议使用) bluetoothOption.isNeedChangeMtu = false //是否启用杰理服务器(暂时不支持) bluetoothOption.isUseJLServer = false //配置OTA参数 configure(bluetoothOption) ``` 注意事项 1. 公版固件SDK默认是打开【**设备认证**】功能的 ## Logcat开关说明 1. 代码设置 ```java //log配置 //islog --- 是否输出打印,建议是开发时打开,发布时关闭 JL_Log.setIsLog(BuildConfig.DEBUG); //log文件配置 //context --- 上下文,建议是getApplicationContext() //isSaveFile --- 是否保存log文件,建议是开发时打开,发布时关闭 JL_Log.setIsSaveLogFile(context, BuildConfig.DEBUG); ``` **注意事项** * 建议在Application中设置打印输出 * debug版本默认开启打印, release版本默认关闭打印 * 客户可以在demo工程配置是否开启debug调试 2. 打印文件 * 打印文件格式: ota_log_app_[timestamp].txt * timestamp: 时间戳 ```tex 例如: ota_log_app_20220330093020.432.txt ==> OTA外接库打印文件, 创建时间: 2022/03/30 09:30:20 ``` * Log文件保存位置:`手机根目录/Android/data/[包名]/files/logcat/` * 包名: 应用包名, 比如: `com.jieli.otasdk` ```tex 举例: Android/data/com.jieli.otasdk/files/logcat/ ``` ## 异常处理步骤 前提: 出现异常情况后, 退出APP 1. **简单描述问题现象 (必要)** 2. **提供最接近时间戳的log文件 (必要)** 3. 简要描述发生异常现象的时间段 4. 提供现象的截图或者视频