[Projet Kivy - Part 1] Premier apk
Préambule
De nombreuses adaptations doivent être effectuées sur le système pour pouvoir compiler le code en application, aussi il est largement conseillé de travailler sur machine virtuelle.
Installation de la VM
- Installer une Lubuntu de base sur un disque dur de 20 Go avec un accès par Pont sur le réseau (10 Go est insuffisant). Après installation, il reste un peu plus de 6 Go.
- Suite à l’installation mettre à jour la distribution :
- sudo apt update
- sudo apt dist-upgrade
- Redémarrer pour prise en compte (plus agréable)
- Installer l’accès distant et quelques outils
- sudo apt install openssh-server
- sudo apt install net-tools
- Installer les compléments de VirtualBox
- Une fois Lubuntu démarré, cliquer Périphériques -> Installer l’image CD des additions Invités.
- Monter le CD-ROM
- Se rendre sur le répertoire lié au montage de ce dernier
cd /media/eric/VBox_GAs_5.2.34/
- Installer les dépendances nécessaires avec la commande :
sudo apt-get install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r)
- Se mettre en root : sudo su.
- Installer le package à l’aide de la commande : ./VBoxLinuxAdditions.run.
- Redémarrer pour prise en compte (plus agréable)
Installation de Kivy
Utilisant Ubuntu, j’ai effectué l’installation par :
https://kivy.org/doc/stable/installation/installation-linux.html#ubuntu-kubuntu-xubuntu-lubuntu-saucy-and-above
Voici le résumé de ce qui a été effectué :
sudo add-apt-repository ppa:kivy-team/kivy
Appuyer sur ENTREE pour valider l'ajout
sudo apt-get update
sudo apt-get install python3-kivy
Déterminer la version de Kivy
eric@eric-PC:~$ python3
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import kivy;
[WARNING] [Config ] Older configuration version detected (0 instead of 21)
[WARNING] [Config ] Upgrading configuration in progress.
[INFO ] [Logger ] Record log in /home/eric/.kivy/logs/kivy_20-03-20_0.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "/usr/lib/python3/dist-packages/kivy/__init__.py"
[INFO ] [Python ] v3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0]
[INFO ] [Python ] Interpreter at "/usr/bin/python3"
Premier code
import kivy
kivy.require('1.11.1') # replace with your current kivy version !
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Label(text='Hello world')
if __name__ == '__main__':
MyApp().run()
Ce qui a conduit à de nombreuses erreurs.
[CRITICAL] [Window ] Unable to find any valuable Window provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
egl_rpi - ImportError: cannot import name 'bcm'
L’ensemble a été résolu par l’installation du package python3-sdl2
sudo apt install python3-sdl2

Premiers pas
Lorsque l’on débute un langage, la première chose à connaître est comment faire du debugging ou du moins avoir de l’information surtout au travers d’une interface graphique.
from kivy.logger import Logger
Logger.info("Info: RootWidget")
Va permettre d’afficher :

Avancées dans le tutoriel
Pour bénéficier des exemples de Kivy, il est nécessaire d’installer le package associé :
sudo apt install kivy-examples
Les exemples se trouvent alors dans :
/usr/share/kivy-example
Premiers programmes avec kv
sudo apt-get install python-dev build-essential ccache git openjdk-8-jdk zlib1g-dev python-setuptools libncurses5 libstdc++6 zlib1g unzip zlib1g-dev cython python3-pip libsqlite3-dev sqlite3 libbz2-dev libssl-dev libgdbm-dev libgdbm-compat-dev liblzma-dev libreadline-dev libncursesw5-dev uuid-dev
ATTENTION : la compilation ne peut s’effectuer qu’avec Java version 8
sudo update-alternatives - -config java
python3.7 -m pip install - -upgrade cython
Première compilation
La compilation a nécessité l’installation des packages suivants :
- sudo apt-get install automake autoconf libltdl-dev
?
sudo apt-get install libffi-dev
- Installation de buildozer
- git clone https://github.com/kivy/buildozer.git
- cd buildozer
- sudo python3 setup.py install
- Répertoire projet
- mkdir project
- cd project/
- buildozer init
- buildozer android debug deploy run
Placer votre fichier .py et renommer le en main.py
Dépannage
J’avais fixé la taille du disque dur à 10 Go ce qui s’est révélé insuffisant, j’ai donc eu des erreurs qui n’en sont peut être pas vraiment.
- sdkmanager path "/home/lukasmatrix/.buildozer/android/platform/android-sdk/tools/bin/sdkmanager" does not exist, sdkmanager is notinstalled
- Le fichier commandlinetools-linux-6514223_latest.zip dans .buildozer/android/platform/android-sdk était corrompu, le télécharger sur https://developer.android.com/studio et contrôler son SHA256.
Aide
Accueil > Moi > Projets > [Projet Kivy - Part 1] Premier apk