🔧Как собрать Python в APK: пошаговое руководство для начинающих📲
Для того чтобы собрать Python-приложение в APK файл, вы можете использовать инструмент Kivy и его утилиту Buildozer.
# Установка Kivy и Buildozer
pip install kivy
pip install buildozer
# Создание build.spec файла
buildozer init
# Настройка build.spec файла (указать путь к вашему приложению, версию Python и другие параметры)
# Сборка APK файла
buildozer android debug
Детальный ответ
Как собрать Python в APK
В этой статье мы рассмотрим процесс сборки Python-программы в APK-файл для установки на устройства Android. Следуя инструкциям ниже, вы сможете упаковать свою программу на Python в APK, что позволит вам запускать ее на мобильных устройствах под управлением Android.
Шаг 1: Установка необходимых инструментов
Первым шагом необходимо установить следующие инструменты:
pip install buildozer
Шаг 2: Создание спецификации проекта
Для сборки Python-программы в APK необходимо создать спецификацию проекта. Создайте файл с именем "buildozer.spec" в корневой директории вашего проекта и добавьте в него следующий код:
[app]
# (str) Имя вашего приложения
title = MyPythonApp
# (str) Пакет-идентификатор вашего приложения (уникальное имя)
package.name = my.python.app
# (str) Версия вашего приложения
# version.major, version.minor, version.revision
version = 1.0.0
# (str) Код вашего приложения, определяющий его версию
# Он должен быть увеличен с каждым изданием, чтобы избежать проблем обновления
# Можно использовать команду «buildozer version» для установки его автоматически в соответствии с текущей датой
requirements = python3,kivy
# (list) Дополнительные зависимости устанавливаются из репозиториев
# android — дополнительные пакеты доступны в Android SDK
# Проверьте https://buildozer.readthedocs.io/en/latest/guides/dependencies.html, чтобы узнать более подробную информацию о дополнительных пакетах
android.permissions = INTERNET
# (list) Список py-файлов / папок, копируемых в наши ресурсы
source.include_exts = py,png,jpg,kv,atlas,json
# (str) SDK-версия Android, используемая для сборки вашего приложения
# Значение по умолчанию, как правило, работает хорошо, если вы не используете API-функции смартфона
# Для получения иных сведений прочтите https://source.android.com/source/build-numbers.html
android.api = 29
# (int) Минимальная версия Android SDK, необходимая для работы вашего приложения
android.minapi = 21
# (int) Используйте следующую версию платформы для сборки. Если платформы нет, она будет установлена
android.sdk = 29
# (str) NDK-версия, используемая для сборки приложения
# Нужна, только если вы используете Cython под Linux, используйте значение sdandroid.ndk = 17c
android.ndk = 21.4.7075529
# (bool) Нужно ли считывать логи через adb logcat
android.logcat_filter =
# (str) Ключ SHA-1 вашего сертификата, необходимый для создания подписи APK
# Задайте его, чтобы использовать существующий ключ, созданный с помощью Java Keytool или необходимый для использования с разными приложениями
android.keystore =
# (str) Измените эти два значения при использовании ключа для подписи
android.keyalias =
android.keypasswd =
# (str) Путь к вашему файлу zip-ключа/keystore
# Если оставить пустым, но установить «android.keyalias» или «android.keypasswd», то кеystore не будет создан
# Но можете создать APK, которые уже использовали этот кейстор, заранее
android.keystore_path =
# (str) Выровньте ваш APK
# Необходимо, если вы используете zip-алгоритм вроде pack_sign или byte_align_binary
# Параметр может принимать одно из значений: align, zipalign, apkalign, aapt или noalign
android.align =
# (bool) Создавать ли ArHchive с библиотекой C на вашем устройстве
android.arh = False
# (bool) Должно ли префикс python будет удален из всего перед корневой папкой вашего проекта
# Если его убрать, то полезные данные будут помещены /sdcard/Android/data/пакет.имя, диапазон имени пакета из spec будет использоваться
# android.copy_libs = 1
# (str) Определяет, использует ли cython библиотеку
# Если вы хотите только собирать (развертывать с помощью Cython) то установите значение No, если хочется использовать Cython, то Yes и наконец Maybe - для вызова cython и compileall
cython.auto (conda) = [True|False|Maybe]
# (str) Имя созданного Python-пакета
#dолжно начинаться с имени пакета
#android.entrypoint = org.renpy.android.PythonActivity
# (str) Общие точки входа Python
#примечание: %kivy использовано в отборе, а также использование данный из spec
#require_kivy (1) = 1.12.1
# (list) Копируем папку(s), точка/точки входа, или файлов в поиск модуля, в отличие от сразу добавить директории в sys"""
#pythonpath (list) = ["", ""]
#Заполнять только, если вы собираетесь использовать defold
#cpp_path = Этот/modуль путь с файлами .c и .h для компиляции
# cpp_fl consumer (str) = /конечный-использование/путь/.a файл для использования defold'a (библиотека функций определения маршрута)
# cpp_strpath = Имя пути с приложением cpp-path, без использования python-for-android
#[contrib.crystax] (str) Используйте его, если вы заинтересованы в использовании коммерческого SDK CrystaX NDK, основанном на Android-8r10, а не на Google-platform:
#path = None
#name = None
Шаг 3: Сборка APK-файла
После создания спецификации проекта можно перейти к сборке APK-файла. Откройте командную строку в корневой директории проекта и выполните следующую команду:
buildozer -v android debug
Эта команда запустит сборку APK-файла. Вам потребуется подключенное устройство Android или эмулятор Android для установки и запуска APK-файла.
Шаг 4: Установка и запуск APK-файла
После успешной сборки APK-файла, вы можете установить его на устройство Android и запустить вашу Python-программу на нем. Для этого выполните следующие шаги:
- Подключите ваше устройство Android к компьютеру при помощи USB-кабеля.
- В командной строке перейдите в каталог с APK-файлом, созданным в предыдущем шаге.
- Выполните следующую команду для установки APK-файла:
adb install my.python.app-1.0.0-debug.apk
После установки APK-файла вы можете найти его на устройстве Android и запустить вашу Python-программу. Просто найдите приложение с именем "MyPythonApp" в списке установленных приложений и нажмите на него, чтобы запустить его.
Заключение
Теперь вы знаете, как собрать Python-программу в APK-файл и установить ее на устройство Android. Следуйте инструкциям, приведенным выше, и вы сможете запускать свои Python-программы на мобильных устройствах.