Как настроить Python для Android разработки с Ubuntu и Buildozer

В этой статье мы увидим, как собрать Python для Android разработки с Ubuntu (проверено на Ubuntu 14.04) и Buildozer. Итак, давайте начнем.

buildozer-cloud[1]
image-859

 

Установка Buildozer

Вы можете прочитать полную документацию здесь про Buildozer.

Сам Buildozer не зависит от какой-либо библиотеки, и работает на Python 2.7 и >= 3.3. Я рекомендую вам использовать Python 2.7.

Во-первых, нам нужно скачать pip, инструмент для установки и управления пакетами Python.

apt-get install python-pip

Теперь, чтобы установим Buildozer:

pip install --upgrade buildozer

Если все работает нормально, вы увидите результат: Successfully installed buildozer

Настройка для Android

Для разработки под Android, необходимо установить как минимум Cython и Java SDK. Некоторые двоичные файлы Android SDK все еще находятся в 32 битных библиотеках, так что нужно сделать их доступными.

Установка Cython:

apt-get install python2.7-dev
pip install --upgrade cython

Теперь, сделаем 32х битные библиотеки доступными:

dpkg --add-architecture i386

После этого, вы можете обновить и установить необходимые пакеты:

apt-get update
apt-get install build-essential ccache git lib32z1 libncurses5:i386 libstdc++6:i386 python2.7 openjdk-7-jdk unzip zlib1g-dev zlib1g:i386

Хорошо, теперь у нас есть все, чтобы начать разработку с Python под Android. Давайте попробуем.

Простой пример

Давайте создадим Hello World приложение, чтобы проверить, все ли работает. В этом примере, я собираюсь использовать Kivy. Если у вас не установлен Kivy, запустите следующую команду:

apt-get install python-kivy

Теперь создадим новый файл с именем main.py, и не забудьте добавить строку __version__ = "1.0" в вашем файле, потому что buildozer будет пытаться найти эту строку, чтобы определить версию приложения.

Код программы Hello World:

__version__ = “1.0”
from kivy.app import App
from kivy.uix.button import Button
class Hello(App):
    def build(self):
        btn = Button(text='Hello World')
        return  btn
Hello().run()

Теперь откройте терминал и перейдите к папке с main.py. После этого, создадим buildozer.spec файл, с помощью команды:

buildozer init

Вы можете открыть файл buildzoer.spec и изменить настройки приложения, такие как имя, разработчик и другие подобные параметры.

Для создания проекта, выполним:

buildozer -v android debug

Эта команда скачивает python-for-android, Android SDK и Android NDK, если вы запускаете ее первый раз. Это процесс займет определенное время, так как их размеры не маленькие.

После этого, вы увидите сообщение:

# Android packaging done!
# APK MyApplication-1.2.0-debug.apk available in the bin directory

Теперь вы можете взять apk файл из папки bin, и установить его на ваше устройство. Если ваше устройство подключено к usb, просто запустите эту команду для установки:

adb install bin/MyApplication-1.2.0-debug.apk

Пример работы приложения:

screenshot_2014-05-21-21-47-56
image-860