<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Need Help Adding DFU OTA via SMP (mcumgr) to Android BLE App</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/121993/need-help-adding-dfu-ota-via-smp-mcumgr-to-android-ble-app</link><description>Hello everyone, 
 I’m fairly new to Android development and currently building a BLE app using Kotlin in Android Studio. So far, I’ve managed to implement scanning, connecting to BLE devices, and reading/writing characteristics. 
 Now, I want to add Direct</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 04 Jun 2025 13:48:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/121993/need-help-adding-dfu-ota-via-smp-mcumgr-to-android-ble-app" /><item><title>RE: Need Help Adding DFU OTA via SMP (mcumgr) to Android BLE App</title><link>https://devzone.nordicsemi.com/thread/538082?ContentTypeID=1</link><pubDate>Wed, 04 Jun 2025 13:48:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ea351a00-8a34-4013-8bd5-8ebc2078c62e</guid><dc:creator>lukan</dc:creator><description>&lt;p&gt;Hello &lt;a href="https://devzone.nordicsemi.com/members/afnowakowski"&gt;Aleksander Nowakowski&lt;/a&gt;&amp;nbsp;, &lt;a href="https://devzone.nordicsemi.com/members/kme"&gt;Kenneth&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Thank you so much for your response, I will follow the instructions as stated above.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Nakul&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Need Help Adding DFU OTA via SMP (mcumgr) to Android BLE App</title><link>https://devzone.nordicsemi.com/thread/538075?ContentTypeID=1</link><pubDate>Wed, 04 Jun 2025 13:26:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6147d5d2-96ff-4d98-848e-a36ec1bdeb24</guid><dc:creator>Aleksander Nowakowski</dc:creator><description>&lt;p&gt;Hello,&lt;br /&gt;First of all, you need to add the dependency to:&lt;/p&gt;
&lt;pre&gt;implementation &lt;span class="pl-s"&gt;&lt;span class="pl-pds"&gt;&amp;#39;&lt;/span&gt;no.nordicsemi.android:mcumgr-ble:2.5.0&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Here you have an example (which is adding this as a library as local project, but replacing this line with the above will also work):&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/NordicSemiconductor/Android-nRF-Connect-Device-Manager/blob/fc9b6091de37a19e913d90ff87b3a181c616a66f/sample/build.gradle#L81"&gt;https://github.com/NordicSemiconductor/Android-nRF-Connect-Device-Manager/blob/fc9b6091de37a19e913d90ff87b3a181c616a66f/sample/build.gradle#L81&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This dependency gives access to 2 important classes:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/NordicSemiconductor/Android-nRF-Connect-Device-Manager/blob/fc9b6091de37a19e913d90ff87b3a181c616a66f/mcumgr-ble/src/main/java/io/runtime/mcumgr/ble/McuMgrBleTransport.java#L168" rel="noopener noreferrer" target="_blank"&gt;McuMgrBleTransport&lt;/a&gt;&lt;br /&gt;&lt;a href="https://github.com/NordicSemiconductor/Android-nRF-Connect-Device-Manager/blob/fc9b6091de37a19e913d90ff87b3a181c616a66f/mcumgr-core/src/main/java/io/runtime/mcumgr/dfu/mcuboot/FirmwareUpgradeManager.java#L232"&gt;FirmwareUpdateManager&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First, you need to get the `BluetoothDevice`. This is what you get from scanning for Bluetooth LE devices, or having already connected in the app.&lt;/p&gt;
&lt;p&gt;You pass this instance to the Firmware Update Manager in the constructor, toghether with a callback.&lt;/p&gt;
&lt;p&gt;Before starting DFU set a mode using &lt;a href="https://github.com/NordicSemiconductor/Android-nRF-Connect-Device-Manager/blob/fc9b6091de37a19e913d90ff87b3a181c616a66f/mcumgr-core/src/main/java/io/runtime/mcumgr/dfu/mcuboot/FirmwareUpgradeManager.java#L290"&gt;`setMode`&lt;/a&gt;. Usually CONFIRM_ONLY should work.&lt;/p&gt;
&lt;p&gt;You need to create the &lt;a href="https://github.com/NordicSemiconductor/Android-nRF-Connect-Device-Manager/blob/main/mcumgr-core/src/main/java/io/runtime/mcumgr/dfu/mcuboot/model/ImageSet.java#L22"&gt;&amp;quot;ImageSet&amp;quot;&lt;/a&gt;&amp;nbsp;to pass to the `start` method of the manager. For that you may just copy-paste &lt;a href="https://github.com/NordicSemiconductor/Android-nRF-Connect-Device-Manager/blob/main/sample/src/main/java/io/runtime/mcumgr/sample/utils/ZipPackage.java"&gt;`ZipPackage`&lt;/a&gt;&amp;nbsp;file to your app. It is unpacking the ZIP file generated by the `west build` command and providing the ImageSet object.&lt;/p&gt;
&lt;p&gt;Please, follow the rabit in the sample app. I hope that helped!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Need Help Adding DFU OTA via SMP (mcumgr) to Android BLE App</title><link>https://devzone.nordicsemi.com/thread/538064?ContentTypeID=1</link><pubDate>Wed, 04 Jun 2025 13:03:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e9a3d61c-7e6e-4421-939b-eae47c9b29b9</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I can check if someone have some pointers.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>