Chapter 9. Releasing to Android and iOS

Now that you have a functional weather application, it’s time to actually deploy it to your mobile device. In this chapter we’ll discuss how to deploy to Android, which can be done from a Linux or Mac OS machine, and to iOS if both your host and device are Apple products. Kivy has a custom-built deployment tool called Buildozer. This tool is both a blessing and a curse. On the positive side, it works very hard (and very well) to take care of all the crazy dependencies that are required to deploy to these disparate platforms, and it has the second-coolest name in the packaging industry (Arch Linux’s pacman package manager is number one). On the negative side, it can be difficult to debug when things go wrong and is another build system you have to learn. I find this frustrating, as I’m already familiar with so many other build tools--setuptools, pip, Make, Ant, buildout, Paver, and more. I’d have preferred to see Buildozer’s features incorporated into the standard Python ecosystem. However, since they weren’t and it’s here and it works, I’m going to show you how to use it!

Getting Buildozer

Buildozer lives on Kivy’s GitHub page. It’s currently alpha software, but it’s far less cumbersome than older Kivy deployment methods, so I recommend you use it. I also recommend you use the master branch rather than one of the releases. The Kivy developers keep this project up-to-date with the ever-changing landscape of Android and iOS development, and it’s ...

Get Creating Apps in Kivy now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.