Android 13下Stripe Terminal SDK 2.14.0更新固件报UNEXPECTED_SDK_ERROR求助
排查Android 13权限适配
Android 13新增了BLUETOOTH_CONNECT权限,Stripe Terminal SDK 2.14.0未针对该权限做适配。确认你的应用已在Manifest中声明<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />,并且在运行时动态请求该权限——固件更新依赖稳定的蓝牙连接,权限缺失会触发SDK内部的通用错误。升级SDK版本
2.14.0版本发布于Android 13正式版之前,存在已知的Android 13适配问题。升级到2.17.0及以上版本后,不少开发者反馈这个UNEXPECTED_SDK_ERROR直接解决了,官方在后续版本中修复了蓝牙连接和固件更新流程的兼容性问题。获取详细错误日志
默认的错误码过于笼统,通过onUnexpectedError回调打印error.message和error.debugCode,能定位具体原因:比如有开发者发现是Android 13的后台蓝牙限制导致固件包下载中断,或者SDK内部的文件校验逻辑异常。保证前台连接稳定性
Android 13对后台蓝牙连接的限制更严格,固件更新时让应用保持前台,必要时启动前台服务(显示更新中的通知),避免系统回收蓝牙连接资源导致更新失败。交叉验证版本差异
在Android 12设备上测试同一终端的固件更新,如果能正常完成,说明问题确实是SDK与Android 13的适配冲突,此时优先升级SDK是最高效的解决方案。
内容的提问来源于stack exchange,提问作者Sergio Ramirez

