Android-JL_OTA icon indicating copy to clipboard operation
Android-JL_OTA copied to clipboard

升级后再升级会失败是什么原因?

Open javycoder opened this issue 1 year ago • 3 comments

用的是1.9.2,app自己维护一套蓝牙连接,当需要ota的时候断开app的蓝牙连接,使用你们demo里那一套连接重新连接上然后进行升级。升级成功后断开你们那一套蓝牙连接,再使用app本身那一套进行重连。

首次升级是成功的,但是再次升级就不行了,再次升级: BtEventCallback的onConnection会返回CONNECTION_FAILED

但是我看了明明还在走onDiscovery为什么会回调失败呢?

升级成功后需要释放什么?

javycoder avatar Aug 29 '24 09:08 javycoder

升级成功,设备会重启,不需要释放什么。如果不需要OTA,可以把 OTAManager#release()。 需要附上打印日志分析。参考调试说明 按照你的描述,频繁的蓝牙连接与断开,可能导致设备连接不上,可以重试。

zqjasonzhong avatar Aug 29 '24 09:08 zqjasonzhong

这是日志 ota_log_app_20240903154123.203.txt

javycoder avatar Sep 03 '24 07:09 javycoder

根据日志分析,你是重复传入已连接设备的状态,导致多次执行初始化流程,设备认证流程失败,出现初始化失败的情况。

20240903154249.248   i   ota:JieliOTAManager :  -onBleDataBlockChanged- device : name : null ,type : 0 ,address : FF:FF:10:00:00:4E, block : 514, status : 0
20240903154249.252   i   ota:JieliOTAManager :  -onBtDeviceConnection- device : name : null ,type : 0 ,address : FF:FF:10:00:00:4E, 1
20240903154249.256   i   ota:RcspAuth :  -startAuth- device = name : null ,type : 0 ,address : FF:FF:10:00:00:4E
20240903154249.257   d   ota:SendBleDataThread :  addSendTask : 508
20240903154249.259   d   ota:BleManager :  writeDataByBle : send ret : true, data = 00C13B4005D2DF0FE0094E925AAC938B7E
20240903154249.260   i   ota:RcspAuth :  -sendAuthDataToDevice- device : name : null ,type : 0 ,address : FF:FF:10:00:00:4E, authData : 00C13B4005D2DF0FE0094E925AAC938B7E
20240903154249.269   d   ota:JieliBleManager :  onCharacteristicWrite : device : name : null ,type : 0 ,address : FF:FF:10:00:00:4E, serviceUuid = 0000ae00-0000-1000-8000-00805f9b34fb, characteristicUuid = 0000ae01-0000-1000-8000-00805f9b34fb, status = 0, 
data : [00C13B4005D2DF0FE0094E925AAC938B7E]
20240903154249.270   i   ota:JieliOTAManager :  -onBtDeviceConnection- device : name : null ,type : 0 ,address : FF:FF:10:00:00:4E, 1

关键词: -onBtDeviceConnection-

看下是否回调没有及时注销,重复添加蓝牙回调导致的。

zqjasonzhong avatar Sep 05 '24 09:09 zqjasonzhong