Outils pour utilisateurs

Outils du site


kivy_buildozer

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
kivy_buildozer [2020/01/02 09:22] – [Kivy: Buildozer pour compiler une application Android en python] sergekivy_buildozer [2022/09/14 09:39] (Version actuelle) – [Venv] serge
Ligne 2: Ligne 2:
 <WRAP center round box 60% centeralign> <WRAP center round box 60% centeralign>
 **{{tagpage>kivy|Toutes les pages Kivy}}** **{{tagpage>kivy|Toutes les pages Kivy}}**
 +**[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fkivy_buildozer|English Version]]**
 +</WRAP>
 +<WRAP center round box 40% centeralign>
 +**[[les_pages_kivy_en_details|Les pages Kivy en détails]]**
 </WRAP> </WRAP>
- 
 <WRAP center round box 60% centeralign> <WRAP center round box 60% centeralign>
-**[[http://translate.google.com/translate?hl=&sl=auto&tl=en&u=https%3A%2F%2Fressources.labomedia.org%2Fkivy_buildozer|English Version]]**+**Generic Python packager for Android and iOS**
 </WRAP> </WRAP>
-=====Le programme python kivy=====+=====Ressources===== 
 +  * **[[https://buildozer.readthedocs.io|Welcome to Buildozer’s documentation]]** 
 +  * **[[https://github.com/kivy/buildozer|Buildozer sur Github]]** 
 + 
 + 
 +=====Utilisation sur Debian 11 Bullseye===== 
 +====Dépendances==== 
 +  sudo apt install libsdl2-dev zlib1g-dev pkg-config autoconf automake cmake dkms libtool libsdl2-2.0-0 ccache unzip ffmpeg libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libswscale-dev libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 libpangox-1.0-0:i386 libidn11:i386 zlib1g:i386  libssl-dev openssl gcc libpangoxft-1.0-0:i386 adb libtool build-essential libncurses5-dev libncursesw5-dev libtinfo5 lld 
 +   
 +===OpenJDK=== 
 +Pour connaître votre version actuelle 
 +  java -version 
 +   
 +Pour avoir la liste des versions installées 
 +  sudo update-java-alternatives --list 
 +   
 +Pour changer de version  
 +  sudo update-alternatives --config java 
 + 
 +Il faut la version 11 
 +  sudo apt install openjdk-11-jdk openjdk-11-source 
 +====Venv==== 
 +**C'est le buildozer du venv qui est utilisé !**\\ 
 +Dans le dossier du venv existant: 
 +<code bash> 
 +  source mon_env/bin/activate 
 +  python3 -m pip install buildozer setuptools cython 
 +  buildozer init 
 +   
 +  File buildozer.spec created, ready to customize! 
 +   
 +toto@debian:/media/data/3D/projets/player/app$ source mon_env/bin/activate 
 +(mon_env) toto@debian:/media/data/3D/projets/player/app$ python3 -m pip install -r requirements.txt 
 + 
 +(mon_env) toto@debian:/media/data/3D/projets/player/app$ ./mon_env/bin/buildozer -v android debug 
 +</code> 
 + 
 + 
 +=====Le programme python kivy Hello world=====
  
   * **[[https://github.com/sergeLabo/hello-world|Les sources sur github]]** avec le fichier buildozer.spec   * **[[https://github.com/sergeLabo/hello-world|Les sources sur github]]** avec le fichier buildozer.spec
Ligne 33: Ligne 74:
 La page plus ancienne **Kivy Comment créer une application android en python** est en [[archives/kivy_comment_creer_une_application_android_en_python|archive]]. La page plus ancienne **Kivy Comment créer une application android en python** est en [[archives/kivy_comment_creer_une_application_android_en_python|archive]].
 ====Installation==== ====Installation====
 +Des ressources suffisantes mais peut-être pas necéssaires !
 +
 <code text> <code text>
 sudo dpkg --add-architecture i386 sudo dpkg --add-architecture i386
Ligne 52: Ligne 95:
 ====buildozer.spec==== ====buildozer.spec====
 Il faut définir une version pour l'application que vous compilez. Il faut définir une version pour l'application que vous compilez.
 +
 +===Le buildozer.spec du hello world===
 +<code python>
 +[app]
 +title = My Application
 +package.name = myapp
 +package.domain = org.test
 +source.dir = .
 +source.include_exts = py,png,jpg,kv,atlas
 +version = 0.14
 +requirements = python3,kivy
 +orientation = portrait
 +fullscreen = 0
 +android.arch = armeabi-v7a
 +
 +[buildozer]
 +log_level = 2
 +warn_on_root = 1
 +</code>
  
 === Version Méthode 1 === === Version Méthode 1 ===
Ligne 76: Ligne 138:
 </code> </code>
  
-===Pour le hello world=== 
-<code python> 
-[app] 
-title = My Application 
-package.name = myapp 
-package.domain = org.test 
-source.dir = . 
-source.include_exts = py,png,jpg,kv,atlas 
-version = 0.14 
-requirements = python3,kivy 
-orientation = portrait 
-fullscreen = 0 
-android.arch = armeabi-v7a 
- 
-[buildozer] 
-log_level = 2 
-warn_on_root = 1 
-</code> 
 ====Compilation==== ====Compilation====
   buildozer -v android debug   buildozer -v android debug
Ligne 100: Ligne 144:
  
 =====openjdk 11 vs 8===== =====openjdk 11 vs 8=====
-====L'erreur====+====L'erreur dans logcat de adb====
   java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema   java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
  
Ligne 139: Ligne 183:
 Victoire ! Une application qui marche ! Victoire ! Une application qui marche !
  
-La compilation est longue, quelques heures, quelques Go téléchargés. Une recompilation suite à une nouvelle version serait bien sûr rapide.+La compilation est longue, quelques heures, quelques Go téléchargés. Une recompilation suite à une nouvelle version serait bien sûr rapide (10 secondes).
  
-13 Mo pour une application qui ne fait rien: **{{ ::myapp-0.13-armeabi-v7a-debug.apk.zip |}}**+13 Mo pour une application qui ne fait rien: **{{ media_09:myapp-0.13-armeabi-v7a-debug.apk.zip |}}**
  
 Lorsque la compilation fini sur une erreur, je fais table rase: suppression des .android, .buildozer du home et du dossier du projet. Lorsque la compilation fini sur une erreur, je fais table rase: suppression des .android, .buildozer du home et du dossier du projet.
Ligne 154: Ligne 198:
 </code> </code>
  
-{{tag>kivy python3 buildozer sb}}+{{tag> buildozer kivy python sb }}
kivy_buildozer.1577956929.txt.gz · Dernière modification : 2020/01/02 09:22 de serge