The making of an Android library: Download Manager v2

less than 1 minute read

Android allows developers to add download functionality to their apps, but if you want to extend that behaviour, or customise it to your liking — that’s not easy. That’s why at Novoda we created an improved version of the Download Manager. We started forking the original AOSP version and added several features on top of it, like the ability to download to internal storage or batching of multiple files. The original architecture was not very maintainable in the long therm though, so we decided to rewrite it from scratch as a brand new library and improve it even more!

To know more about which features we added to it and how flexible it is, you can find more details in this blog post.


I gave a talk at Droidcon Turin 2019, where I explained some of the reasoning behind most of the choices we did while creating this new library, what we considered in order to make it maintainable and extensible, and how to be good citizens by making it open-source and allowing others to contribute to the project.

These are the slides for the presentation I gave:


And this is the recording:

Updated: