Outils pour utilisateurs

Outils du site


archives:kivy_buildozer_pour_creer_une_application_android_avec_un_script_python

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_pour_creer_une_application_android_avec_un_script_python [2018/04/30 08:05] – [Version en développement] sergearchives:kivy_buildozer_pour_creer_une_application_android_avec_un_script_python [2019/12/26 09:38] (Version actuelle) – ↷ Page déplacée de archive:kivy_buildozer_pour_creer_une_application_android_avec_un_script_python à archives:kivy_buildozer_pour_creer_une_application_android_avec_un_script_python serge
Ligne 1: Ligne 1:
-======Kivy: Buildozer pour créer une application Android avec un script python====== +======Archive: Buildozer pour créer une application Android avec un script python======
-**Cette page ne concerne que python 3.5** +
-Pour python 2.7, voir la page **[[kivy_buildozer_avec_python_2.7|Buildozer avec python 2.7]]**+
  
-Utiliser **VirtualBox avec 2 systèmes invités différents** si vous utilisez python3.5 et python2.7 pour divers projets.+<WRAP center round box 50% centeralign> 
 +**{{tagpage>kivy|Toutes les pages Kivy}}** 
 +</WRAP>
  
-Testé sur Debian Strech 9.2 en octobre 2017.+<WRAP center round info centeralign 50%> 
 +**Testé sur Debian Buster 10 Alpha 3 en Janvier 2019**\\  
 +</WRAP>
  
-===== Installation de Kivy ===== +===== Ressources ===== 
-Voir [[Kivy Installation|Installation de Kivy et pyjnius]]+  [[https://github.com/kivy/buildozer|Buildozer sur GitHub]] 
 +  * [[http://buildozer.readthedocs.io/en/latest/installation.html|Installation]]
  
-===== Buildozer ===== +=====Tous les problèmes avec buildozer===== 
-==== Installation ==== +==== Cython ==== 
-Dépendances suffisantes mais peut-être pas nécessaires:+**Je ne comprends absolument pas pourquoi il faut cython en python3 et non pas cython3 !!!!!!!!!!!!!!!!!!**
  
-Vérifier la version de cython à installer: +=====Contexte pour python 3===== 
-  * https://kivy.org/docs/installation/installation-linux.html#cython+  * **https://github.com/kivy/kivy/wiki/Android-SDK-NDK-Information**
  
-<code> +  * SDK 20 API 24 NDK 14b / Python 3.7
-sudo apt-get install python3-dev zlib1g-dev pkg-config python3-colorama python3-sh python3-appdirs python3-jinja2 python3-six +
-</code> +
-Cython version = 0.28.2 en mai 2018 +
-<code> +
-sudo pip3 install --upgrade cython==0.25.2 +
-</code> +
-Les lib32 pour un 64 bits +
-<code> +
-sudo dpkg --add-architecture i386 +
-sudo apt-get update +
-sudo apt-get install build-essential ccache git libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libidn11:i386 python2.7 python2.7-dev openjdk-8-jdk unzip zlib1g-dev zlib1g:i386 +
-</code>+
  
-Version en cours de dev: +===== Compilation d'un projet =====
-  * https://pypi.python.org/pypi/buildozer+
  
-<code> +==== Init ====
-git clone https://github.com/kivy/buildozer +
-cd buildozer/ +
-python3 setup.py build +
-sudo pip3 install -e . +
-</code> +
-Version stable: +
-<code> +
-sudo pip3 install buildozer +
-</code> +
-=== Ressources === +
-  * https://github.com/kivy/buildozer +
-  * http://buildozer.readthedocs.io/en/latest/installation.html +
- +
-=== Cristax === +
-Télécharger CrystaX https://www.crystax.net/en/download +
- +
-== Extraire == +
-700 MO à télécharger, 8.5 Go décompressé, laisser le dossier dans votre home. +
-===== Compilation d'un projet =====+
 Ouvrir un terminal dans votre projet: Ouvrir un terminal dans votre projet:
-==== Init ==== +  buildozer init
-<code>buildozer init</code>+
 ==== Edition de buildozer.spec ==== ==== Edition de buildozer.spec ====
 **Points importants** **Points importants**
Ligne 71: Ligne 41:
 # (list) Application requirements # (list) Application requirements
 # comma seperated e.g. requirements = sqlite3,kivy # comma seperated e.g. requirements = sqlite3,kivy
-requirements = python3crystax==3.5, kivy +requirements = python3,kivy,openssl
- +
-# (str) Presplash of the application +
-presplash.filename = %(source.dir)s/data/logo_labomedia.png +
- +
-# (str) Icon of the application +
-icon.filename = %(source.dir)s/data/multipong.png +
- +
-# (str) Supported orientation (one of landscapeportrait or all) +
-orientation = landscape+
  
 # (list) Permissions # (list) Permissions
 android.permissions = INTERNET,CHANGE_WIFI_MULTICAST_STATE,ACCESS_NETWORK_STATE,ACCESS_WIFI_STATE android.permissions = INTERNET,CHANGE_WIFI_MULTICAST_STATE,ACCESS_NETWORK_STATE,ACCESS_WIFI_STATE
  
-(str) Android NDK version to use +SDK 20 / API 26 / NDK 15c / Python 3.7 
-android.ndk 10.3.2 +android.api 26 
- +android.sdk = 20 
-# (str) Android NDK directory (if empty, it will be automatically downloaded.) +android.ndk = 15c 
-android.ndk_path = /home/toto/crystax-ndk-10.3.2+android.sdk_path = /media/data/src_android/android-sdk-20 
 +android.ndk_path = /media/data/src_android/android-ndk-r15c
  
 # (str) The Android arch to build for, choices: armeabi-v7a, arm64-v8a, x86 # (str) The Android arch to build for, choices: armeabi-v7a, arm64-v8a, x86
 android.arch = armeabi-v7a android.arch = armeabi-v7a
 </code> </code>
 +
 ==== Version ==== ==== Version ====
 Il faut définir une version pour l'application que vous compilez. Il faut définir une version pour l'application que vous compilez.
Ligne 119: Ligne 82:
 </code> </code>
  
-==== Exemple ==== 
-  * https://github.com/sergeLabo/TapOSC/blob/master/buildozer.spec 
  
-===== Compilation du apk ===== +==== Compilation du apk ==== 
-<code>buildozer -v android debug</code> +  buildozer -v android debug
- +
-===== .buildozer ===== +
-La compilation va créer un dossier .buildozer d'une taille en gros de 1 Go !!+
  
 ===== Quand ça plante ===== ===== Quand ça plante =====
   * buildozer android clean   * buildozer android clean
-  * Détruire /home/pierre/.local/share/python-for-android+  * Détruire /home/user/.local/share/python-for-android
   * .buildozer du home   * .buildozer du home
   * .buildozer de votre dossier   * .buildozer de votre dossier
   * .android du home   * .android du home
  
-===== Debug de l'*.apk ===== +===== Debug de l'*.apk si l'application ne se lance pas =====
-Si l'application ne se lance pas+
  
-==== Kivy Launcher ==== 
-Cette méthode n'exécute pas le apk, mais lance le main.py. Utilisez logcat. 
-  * https://play.google.com/store/apps/details?id=org.kivy.pygame&hl=en 
  
 ==== Suivre tout ce qui se passe sur le téléphone avec logcat ==== ==== Suivre tout ce qui se passe sur le téléphone avec logcat ====
-  * https://kivy.org/docs/guide/packaging-android.html+  * [[https://kivy.org/docs/guide/packaging-android.html|Guide Android]]
 <code> <code>
 sudo apt-get install adb sudo apt-get install adb
Ligne 151: Ligne 105:
 </code> </code>
  
-===== Limitation de kivy ===== 
-buildozer pour python3 est en développement 
-  * Aucun accent dans les fichier *.kv 
-  * Les packages utilisés dans kivy doivent être dans Crystax. 
-  * Le *.apk de [[https://github.com/sergeLabo/TapOSC|TapOSC]] cause mais ne fume pas ! 
  
-==== UTF-8 dans .kv ==== 
-=== 1 === 
-Cette proposition ne marche pas dans android après compilation buildozer! 
-<code python> 
-with open(filename, encoding='utf-8') as f:  
-    Builder.load_string(f.read())  
-</code> 
-Marchent seulement avec kivy, en exécution directe. 
- 
-=== 2 === 
-''%%# -*- coding: utf-8 -*-%%'' 
- 
-en début de kv ne marche pas 
- 
-Par contre, il est possible de définir mettre une variable dans le main, pour définir le str du kv 
- 
-Dans truc.kv: 
- 
-<code python> 
-    Label: 
-        id: Titre 
-        font_size:  root.width/28 
-        text: self.titre.text 
-</code> 
-Dans main.py: 
- 
-<code python> 
-class Machin(Screen): 
-    titre = ObjectProperty() 
- 
-    # Dans le __init__() ou ailleurs 
-    self.titre.text = "éèàùê" 
-</code> 
-===== Les packages python 3.5 impossibles ===== 
-  * twisted qui n'est pas officiellement porté en python 3 en novembre 2017 et n'est pas pris en charge par buildozer 
  
-===== Un jeu qui marche ===== 
-  * **[[https://wiki.labomedia.org/index.php/Multi_Pong|Multi Pong]]** 
  
-=====Version en développement===== 
-**Kivy buildozer python 3.5** mai 2018 
  
-  sudo pip3 install Cython==0.27.3 
-  git clone git://github.com/kivy/kivy.git 
-  cd kivy 
-  python3 setup.py build_ext --inplace -f 
-  sudo python3 setup.py install 
  
-{{tag>kivy}}+{{tag>archive sb}}
archives/kivy_buildozer_pour_creer_une_application_android_avec_un_script_python.1525075559.txt.gz · Dernière modification : 2018/04/30 08:05 de serge