开源软件名称(OpenSource Name):NordicSemiconductor/Android-DFU-Library开源软件地址(OpenSource Url):https://github.com/NordicSemiconductor/Android-DFU-Library开源编程语言(OpenSource Language):Java 73.0%开源软件介绍(OpenSource Introduction):DFU ApplicationThis is a standalone Android application which utilizes DFU library. It allows for selecting a .zip file which can be uploaded to nRF5 devices with nRF5 DFU bootloader.
Play storeApplication is available in Play Store. Deep linksApplication opens links with the provided format for both http and https.
Link format:
Zip file extension supportApplication can handle opening .zip files from system level. Selected file will be used as an upload source. DFU LibraryThis is an Android library for performing a DFU (Device Firmware Update) on devices running nRF5 SDK firmware with DFU bootloader. iOS version of the same library can be found at IOS-DFU-Library.
UsageSetting upThe DFU library is available on Maven Central repository. Add it to your project by adding the following dependency: implementation 'no.nordicsemi.android:dfu:2.1.0' Latest version targeting API lower than 31 is 1.11.1. For projects not migrated to Android Jetpack, use version 1.8.1.
Proguard / R8If you use proguard/R8, add the following line to your proguard rules (although this should be added
automatically):
Required permissionsAndroid 4.3 - 11To communicate with Bluetooth LE devices on Android version 4.3 until 11 two permissions were
required: BLUETOOTH and BLUETOOTH_ADMIN. It is enough to put them in the AndroidManifest.xml
file. If your app targets API 31 or newer set Android 6 - 11If your device is using the Nordic Buttonless Service for switching from app mode to
DFU bootloader mode, this library will handle switching automatically. In case your bootloader is
configured to advertise with incremented MAC address (that is you use Secure DFU and the device
is not bonded) this library will need to scan for the new Starting from Android 8.1.0, all scans done without a scan filter whilst the screen is turned off will not return any scan results.
Android 12+Starting from Android 12 location permission is not needed, instead BLUETOOTH_CONNECT is required. When your device is using buttonless service and changes MAC address, it also requires BLUETOOTH_SCAN permission to be granted. This permission can be used with neverForLocation flag. Read more in Bluetooth permissions. RetryingStarting from version 1.9.0 the library is able to retry a DFU update in case of an unwanted
disconnection. However, to maintain backward compatibility, this feature is by default disabled.
Call Device Firmware Update (DFU)The nRF5x Series chips are flash-based SoCs, and as such they represent the most flexible solution available. A key feature of the nRF5x Series and their associated software architecture and S-Series SoftDevices is the possibility for Over-The-Air Device Firmware Upgrade (OTA-DFU). See Figure 1. OTA-DFU allows firmware upgrades to be issued and downloaded to products in the field via the cloud and so enables OEMs to fix bugs and introduce new features to products that are already out on the market. This brings added security and flexibility to product development when using the nRF5x Series SoCs. This repository contains a tested library for Android 4.3+ platform which may be used to perform Device Firmware Update on the nRF5x device using a phone or a tablet. DFU library has been designed to make it very easy to include these devices into your application. It is compatible with all Bootloader/DFU versions. DocumentationSee the documentation for more information. RequirementsThe library is compatible with nRF51 and nRF52 devices with S-Series Soft Device and the DFU Bootloader flashed on. DFU HistoryLegacy DFU
Secure DFU
This library is fully backwards compatible and supports both the new and legacy DFU. The experimental buttonless DFU service from SDK 12 is supported since version 1.1.0. Due to the fact, that this experimental service from SDK 12 is not safe, you have to call starter.setUnsafeExperimentalButtonlessServiceInSecureDfuEnabled(true) to enable it. Read the method documentation for details. It is recommended to use the Buttonless service from SDK 13 (for non-bonded devices, or 14 for bonded). Both are supported since DFU Library 1.3.0. Check platform folders for mode details about compatibility for each library. Related librariesReact NativeA library for both iOS and Android that is based on this library is available for React Native: react-native-nordic-dfu FlutterA library for both iOS and Android that is based on this library is available for Flutter: flutter-nordic-dfu XamarinSimple binding library for Android is available on nuget: Laerdal.Dfu.Android Resources
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论