When Alone Kivy Is Not Enough
By Idego Group

This blog post examines Kivy, a cross-platform Python library useful for rapid application development with innovative user interfaces, particularly games and multi-touch applications. Its performance matches native mobile alternatives, with graphics processing leveraging GPU acceleration through Cython implementations.
Kivy applications run across Mac, Windows, Linux, iOS, Android, and Raspberry Pi with minimal modifications. However, this cross-platform capability comes with constraints—developers can only utilize core features supported universally across all systems. The framework provides hardware-accelerated graphics, touch input, sound playback, and networking natively, but lacks direct access to device-specific features like cameras, microphones, GPS, Bluetooth, and biometric security.
Supplementary libraries extend Kivy's functionality: Pyjnius enables direct Java class access from Python, Audiostream manages audio streaming, and Plyer provides hardware feature access.
For Android-specific functionality, Pyjnius allows leveraging the native Android API. Concrete examples using MediaRecorder and MediaPlayer Java classes demonstrate sound recording capabilities.
Buildozer automates the packaging process for Android applications, managing dependencies and build prerequisites automatically.