Использование Python на Android
Использование Python на Android отличается от использования Python на настольных платформах. На настольной платформе Python обычно устанавливается как системный ресурс, доступный любому пользователю компьютера. Затем пользователи взаимодействуют с Python, запуская исполняемый файл python и вводя команды в интерактивной оболочке или запуская скрипт Python.
На Android нет понятия установки в качестве системного ресурса. Единственная единица распространения программного обеспечения — это «приложение». Здесь также нет консоли, в которой можно было бы запустить исполняемый файл python или взаимодействовать с REPL Python.
В результате единственный способ использовать Python на Android — это встроенный режим, то есть написание нативного приложения Android, встраивание интерпретатора Python с помощью libpython и вызов кода Python с использованием API встраивания Python. Полный интерпретатор Python, стандартная библиотека и весь ваш код Python затем упаковываются в приложение для его собственного использования.
Стандартная библиотека Python имеет ряд заметных пропусков и ограничений на Android. Подробности см. в руководстве по доступности API.
6.1. Добавление Python в приложение Android
Большинству разработчиков приложений следует воспользоваться одним из следующих инструментов, которые значительно упростят работу:
- Briefcase из проекта BeeWare
- Buildozer из проекта Kivy
- Chaquopy
- pyqtdeploy
- Termux
Если вы уверены, что хотите выполнить всё это вручную, читайте дальше. В качестве руководства можно использовать тестовое приложение; ниже каждый шаг содержит ссылку на соответствующий файл.
- Соберите Python, следуя инструкциям в файле Android/README.md. Это создаст каталог
cross-build/HOST/prefix. -
Добавьте код в файл build.gradle, чтобы скопировать в проект следующие элементы. Всё, кроме вашего собственного кода Python, можно скопировать из
prefix/lib:-
В библиотеки JNI:
libpython*.*.so-
lib*_python.so(внешние библиотеки, например OpenSSL)
-
В ресурсы:
-
python*.*(стандартная библиотека Python) -
python*.*/site-packages(ваш собственный код Python)
-
-
- Добавьте в приложение код, чтобы извлечь ресурсы в файловую систему.
- Добавьте в приложение код, чтобы запустить Python во встроенном режиме. Для этого потребуется код C, вызываемый через JNI.
6.2. Сборка пакета Python для Android
Пакеты Python можно собирать для Android в виде wheel-файлов и публиковать на PyPI. Рекомендуемый для этого инструмент — cibuildwheel, который автоматизирует все этапы настройки среды кросс-компиляции, сборки wheel-файла и его тестирования в эмуляторе.
© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/using/android.html