Spec-Zone.ru › Python 3.14

Использование 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

Если вы уверены, что хотите сделать всё это вручную, читайте дальше. В качестве руководства можно использовать тестовое приложение testbed; каждый шаг ниже содержит ссылку на соответствующий файл.

  • Сначала получите сборку Python для Android:

    • Проще всего скачать выпуск для Android с сайта python.org. Каталог prefix, упомянутый ниже, находится в корне пакета.
    • Или, если вы хотите собрать его самостоятельно, следуйте инструкциям в файле Android/README.md. Каталог prefix будет создан внутри cross-build/HOST.
  • Добавьте код в файл 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 в виде wheels и публиковать на PyPI. Рекомендуемый для этого инструмент — cibuildwheel, который автоматизирует все этапы настройки среды кросс-компиляции, сборки wheel и его тестирования в эмуляторе.

© 2001 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/using/android.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API