Об этом проекте

python-for-android (p4a) — это инструмент разработки с открытым исходным кодом, поддерживаемый командой Kivy, который упаковывает Python-приложения в нативные Android-бинарные файлы. Он работает путем кросс-компиляции интерпретатора Python и его зависимостей для Android-устройств, а затем объединяет их с Python-кодом приложения, чтобы код интерпретировался на самом устройстве. Инструмент может создавать три типа Android-артефактов: APK-файлы для локальной установки и тестирования (используются многими магазинами приложений, но не Google Play), AAB (Android App Bundle) для распространения в Google Play Store и AAR (Android Archive) — повторно используемые пакеты ресурсов для других проектов. Он поддерживает несколько архитектур процессоров. Хотя p4a тесно связан с фреймворком Kivy, он спроектирован гибким в отношении библиотек бэкенда благодаря системе «bootstrap». Он также поддерживает PySDL2, PySDL3 и бэкенд WebView с Python-веб-сервером. Для чистых Python-пакетов зависимости обрабатываются автоматически. Для пакетов с зависимостями на C-коде необходимо написать специальный «рецепт» для поддержки кросс-компиляции; p4a поставляется со встроенными рецептами для многих популярных библиотек, таких как numpy и sqlalchemy. Проект рекомендует использовать p4a через Buildozer, который обеспечивает предустановку правильных зависимостей и централизует конфигурацию, хотя p4a также можно использовать независимо. Он доступен на PyPI и имеет исчерпывающую онлайн-документацию, включая краткое руководство по началу работы. Проект активно поддерживается с помощью CI/CD-процессов для модульного тестирования, сборки приложений и генерации Docker-образов, а также следует кодексу поведения Contributor Covenant.