Android dfu升级
android实现dfu升级
dfu全称是Device Firmware Upgrade,用于设备固件升级,本文主要介绍Android平台上dfu升级功能的实现,用于电视上。
前提
dfu-util源码下载地址:https://sourceforge.net/projects/dfu-util/
下载的源码,可以直接在Linux上编译执行,可参考文章:linux系统编译dfu。
因为我们实际是用在电视上,所以需要能够在arm平台上实现dfu升级。
需要用到libusb,libusb下载地址:https://sourceforge.net/projects/libusb/
有两种方式:1.app升级。将源码封装成接口,编译成.so库,再开发一个app,通过jni调用这个库,最终实现dfu升级。这种方式我没成功。
2.可执行程序升级。直接将源码编译成arm平台上的可执行程序,然后放到电视目录下,直接实现dfu升级。这个成功了。
app升级
1.新建一个ndk项目,将libusb里的库作为第三方调用的共享库,将dfu-util源码里src目录下的文件也作为第三方调用的源码,不需要main.cpp,然后自己需要写个头文件和实现类,按照main.cpp中的main函数功能,封装好queryDevice()(-l),detachDevice()(-e),upgradeFirmware()(-d)这三个接口,写好Android.mk和Application.mk,然后通

本文详细介绍了在Android电视上实现DFU(Device Firmware Upgrade)固件升级的过程,包括两种方法:APP升级和可执行程序升级。在APP升级尝试中,遇到了libusb初始化和接口调用的问题;而在可执行程序升级方案中,成功实现了固件的查询、分离和下载。最终,通过将dfu-util和libusb编译为ARM平台的可执行程序,并通过ADB推送到电视上执行,完成了固件升级。

1794

被折叠的 条评论
为什么被折叠?



