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