![Page 1: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/1.jpg)
Kivy na AndroidziePyWaw #56 22.03.2016
Marcin Jaroszewski Python Developer @ DaftCode
![Page 2: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/2.jpg)
Co to Kivy?
![Page 3: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/3.jpg)
• Działa w pythonie 2.7 i 3.3+
• Licencja MIT
KivyBiblioteka pythonowa
do tworzenia wieloplatformowych (linux, OS X, windows, Android, iOS) aplikacji GUI.
![Page 4: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/4.jpg)
![Page 5: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/5.jpg)
Środowisko
![Page 6: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/6.jpg)
• Linux
• Python 2.7
Wymagane środowisko• Android-sdk
• Android-ndk
![Page 7: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/7.jpg)
Przygotowana przez zespół kivy https://kivy.org/docs/guide/packaging-android-vm.html
Gotowa maszyna wirtualna
![Page 8: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/8.jpg)
• Ubuntu 14.04 64 bit
Samodzielne przygotowanie
Ogólne instrukcje są dostępne na: https://kivy.org/docs/installation/installation-linux.html#ubuntu-11-10-or-newer
Ale bywają niespójne…
Zależności
• Python 2.7
![Page 9: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/9.jpg)
python-pip
build-essential
git
python
python-dev
Zależności,z którymi zadziałało
libportmidi-dev
libswscale-dev
libavformat-dev
libavcodec-dev
zlib1g-dev
ffmpeg ← !
libsdl2-dev
libsdl2-image-dev
libsdl2-mixer-dev
libsdl2-ttf-dev
![Page 10: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/10.jpg)
• Cython==0.23
• Kivy==1.9.1
• Kivy-Garden==0.1.4
• requests==2.9.1
Wymaganepakiety pythonowe
![Page 11: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/11.jpg)
Możemy uruchomić aplikację Hello World w okienku,
ale jeszcze nie na Androidzie
![Page 12: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/12.jpg)
Pakowanie aplikacji na Androida
![Page 13: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/13.jpg)
• Kivy Launcher – nie wymaga pakowania
• Dedykowane rozwiązanie → buildozer https://github.com/kivy/buildozer
• Wykonuje dużo pracy za nas
• pip install git+https://github.com/kivy/buildozer.git@master
Pakowanie aplikacji na Androida
![Page 14: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/14.jpg)
Kivy Launcher
![Page 15: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/15.jpg)
• Jest na Google Play
• Można pobrać i zainstalować ze strony kivy: https://kivy.org/#download
• Uwaga na wersję 1.9.1
Kivy Launcher
![Page 16: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/16.jpg)
• Android.txt• Nazwa aplikacji• Autor• Orientacja
• /sdcard/kivy/nazwa_aplikacji
• Restart Kivy Launcher
• Jeśli się nie popsuło to działa
Używanie Kivy Launcher
![Page 17: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/17.jpg)
Buildozer
![Page 18: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/18.jpg)
• Wersja alfa.
• Pakowanie aplikacji na iOS – nie działa, ale może będzie za „jakiś” czas.
• Pakowanie aplikacji na Androida – działa.
Buildozer
![Page 19: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/19.jpg)
• buildozer init – tworzy plik buildozer.spec
• Edycja buildozer.spec
• buildozer android debug
• buildozer android deploy
• buildozer android release
Praca z Buildozer
![Page 20: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/20.jpg)
• Tytuł aplikacji
• Nazwa pakietu
• Pliki/katalogi źródłowe
• Wersja aplikacji + metoda wersjonowania
• Wymagania (pakiety)
buildozer.spec
• Ikona
• Orientacja aplikacji (portrait i/lub landscape)
• Uprawnienia
• Wersje SDK/NDK
•[…]
![Page 21: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/21.jpg)
• Sprawdzi wszystkie wymagania.
• Ściągnie odpowiednie wersje SDK i NDK.
• Zbuduje Aplikację – plik apk w wersji debug.
Buildozer android debug
![Page 22: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/22.jpg)
• Zainstaluje poprzednio zbudowany plik apk na urządzeniu z androidem.
• Wymaga podłączonego urządzenia w trybie debug.
• Urządzenia z Androidem nie zawsze dają się podłączyć „bezproblemowo”.
• Adb jest mniej więcej tu: /home/user/.buildozer/android/platform/android-sdk-xx/platform-tools
Buildozer android deploy
![Page 23: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/23.jpg)
• Zbuduje aplikację z flagą debug=false.
• Publikacja aplikacji na Google Play wymaga dodatkowych czynności.
Buildozer android release
![Page 24: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/24.jpg)
Problemy początkujących
![Page 25: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/25.jpg)
• I/python ( 9658): Android kivy bootstrap done.
__name__ is __main__
• I/python ( 9658): Run user program, change dir
and execute main.py
• I/python ( 9658): No main.pyo / main.py found.
• I/art ( 9658): System.exit called, status: 0
Aplikacja musi posiadać plik main.py
![Page 26: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/26.jpg)
W przeciwnym wypadku layout nam się nie załaduje - „widzę ciemność”
Nazwy pliku kv i klasy aplikacji muszą sobie odpowiadać
![Page 27: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/27.jpg)
https://github.com/kivy/kivy/issues/3937
Kivy Launcher w wersji 1.9.1 nie obsługuje orientacji portrait
![Page 28: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/28.jpg)
Podsumowanie
![Page 29: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/29.jpg)
• Ogólnie działa
• Po przyzwyczajeniu, nawet przyjemnie się używa
• Powolny rozwój
• Niewielu developerów
• Braki w dokumentacji, przykładach, ficzerach
Kivy na Androidzie
![Page 30: Kivy na Androidziepywaw.org/.../pywaw-56-aplikacje-kivy-na-androidzie.pdf · 2016-03-23 · Kivy na Androidzie. Pytania? Title: Kivy na Androidzie Created Date: 3/22/2016 3:14:35](https://reader034.vdocuments.mx/reader034/viewer/2022042804/5f54533c4c973a529a181fde/html5/thumbnails/30.jpg)
Pytania?