Найти тему

Bulldozer и unix

Оглавление

Привет.

Меня тут увлекла мобильная разработка и я начал потихоньку делать своей проект. Для старта выбрал Python + Kivy.

Хочу рассказать о историю с которыми я воевал 7 дней, что бы Вы не прыгали по граблям как я.

Почему так долго? Причина в том что установка образов iso и первый debug на buildozer занимает много времени в среднем 35+ мин.

Что не нужно было делать:

Спустя 8 запоротых виртуалок и 7 дней я понял что НЕ работают варианты:

- Вот этот
- Вот
этого видео (либо у меня кривые руки)

Частично работают варианты с офф мануала (на удивление):

-
Create a package for Android — Kivy 2.0.0 documentation
-
Installation — Buildozer 0.11 documentation


P.S Данные варианты у меня взлетели с 5 попытки. Видимо зря я обновлял предустановленный python, но об этом далее.

Start

Установить kivy и kivyMD на рабочую систему не так сложно.

Для этого я установил Pycharm, создал новый проект, провалился через терминал в venv (source venv/scripts/activate)

И начал накидывать через pip фреймворки.

pip install kivy (ссылка)

pip install kivymd (ссылка)

(Рекомендую так же сразу поставить cython)

Использовал я Python3.9 уже установленный на систему по этому ставить его еще раз нет нужды для меня.

Problem 1

Как казалось что сделать и запустить визуальное окно

Простая форма для проверки работы чистого kivy.
Простая форма для проверки работы чистого kivy.

Проблема образовалась сразу. Как это закинуть на телефон.
Как выяснилось нужно собирать
apk (что не удивительно). Но главный нюанс в том что OS Windows для этого не подходит. Нужен Unix подобная (Ubuntu, Xubuntu, Lubuntu, MacOS).

Это меня чутка расстроила.
MacOS у меня есть, но т.к я знал что первый и последующие блины будут комом я не стал что то на ней делать.

Выбрав обычный VirtualBox я скачал Ubuntu 20.04 и мой квест начался.

Сразу скажу что до устанавливать Python 3.9. На версии 20.04 стоит 3.8 и этого достаточно.

Problem 2

После всех попыток из офф мануалов и видео с youtube, при попытке buildozer android debug я ловил ошибку.

# Command failed: /usr/bin/python3 -m pythonforandroid.toolchain create --dist_name=myapp --bootstrap=sdl2 --requirements=python3,kivy --arch armeabi-v7a --copy-libs --color=always --storage-dir="/home/develop/tk/.buildozer/android/platform/build-armeabi-v7a" --ndk-api=21 --ignore-setup-py

Супер...
Переставляю виртуалку. Действую по другому. Ставлю
Ubuntu 18 и Lubuntu все тоже самое.
На habr мне
предоставили уже готовую виртуалку для сборки kivy. Она работает, но как всегда нюансы:

  • нужно удалить android NDK 19 и установить 19C
  • нет места что бы поставить поверх
  • Место 12Гб и его не увеличить даже спец командами --size 30000 т.к крашится ошибка в значениях.
  • Я не нашел в списке указанный android NDK 19 и не понял как его удалить. (пробовал разные варианты - sudo apt remove android...)

На 8 переустановку я понял что видимо я что то делаю не то.

Поставил по
мануалу на чистую систему Lubuntu. Назвал файл main.py и оно взлетело.
Точнее сказать прошел debug без краша. За ним сделал deploy и все собирается.

Результат

Думал что закончится все хорошо и можно переходить к верстке приложения, но не тут то было.

Я установил 2 виртуалки Lubuntu и Ubuntu с одинаковой настройкой т.к прочитав на формах что косяк может быть из за самой виртуальной машины.
В обоих случаях
apk собирается, но когда я скидываю его себе на телефон он устанавливается и запускается и стразу закрывается =( Что меня расстроило.

Установив заново виртуалку с
habr я собрал apk в ней и закинул к себе на телефон. Сборка взлетела...

На данный момент я грешу на android NDK.
Либо он стоит старый, либо не стоит вовсе.

Истина где то рядом.