Outils pour utilisateurs

Outils du site


archives:kivy_comment_creer_une_application_android_en_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_comment_creer_une_application_android_en_python [2019/01/06 15:33] – [La solution miracle: Kivy Virtual Machine (for Android/buildozer) avec python 2.7.13] sergearchives:kivy_comment_creer_une_application_android_en_python [2020/04/03 17:59] (Version actuelle) serge
Ligne 1: Ligne 1:
-======Kivy Comment créer une application android en python======+======Archives : Kivy Comment créer une application android en python====== 
 + 
 +<WRAP center round alert 60%> 
 +**Cette page est obsolète, elle est en archives !** 
 + 
 +Voir **[[::kivy_buildozer|Kivy: Buildozer pour compiler une application Android en python]]** pour la dernière version 
 +</WRAP> 
 <WRAP center round box 60% centeralign> <WRAP center round box 60% centeralign>
 **{{tagpage>kivy|Toutes les pages Kivy}}** **{{tagpage>kivy|Toutes les pages Kivy}}**
 </WRAP> </WRAP>
  
 +<WRAP center round important 60% centeralign>
 +**Buildozer compile le Python 3 par défaut !**\\ 
 +**Mais je n'ai pas réussi à obtenir un *.apk**
 +Et ça ne marche pas non plus en python 2 !
 +</WRAP>
 +
 +<WRAP center round info 60% centeralign>
 +Testé en janvier 2019 sur:\\
 +**Debian Buster alpha 4**\\
 +et sur \\
 +**Xubuntu 18.04 dans VirtualBox**
 +</WRAP>
 +
 +=====Buildozer et python 3=====
 **[[https://github.com/kivy/buildozer|Buildozer]]** Generic Python packager for Android and iOS **[[https://github.com/kivy/buildozer|Buildozer]]** Generic Python packager for Android and iOS
  
-Buildozer est un des projets de kivy. **Quand ça marche**, c'est super pratique. Cela permet de créer une application Andoid à partir de script python utilisant **[[https://kivy.org/#home|Kivy]]**. Mais apprendre **{{tagpage>kivy|Kivy}}**, **c'est dur !**+Buildozer est un des projets de kivy. **Quand ça marche**, c'est super pratique. Cela permet de créer une application Andoid à partir de script python utilisant **[[https://kivy.org/#home|Kivy]]**.
  
 Last but not least, un tas de package python ne sont pas supportés. Last but not least, un tas de package python ne sont pas supportés.
  
-=====Les problèmes avec buildozer===== +  * [[https://github.com/kivy/buildozer|Buildozer sur GitHub]] 
-====Qu'en disent les internets ?====+  * [[http://buildozer.readthedocs.io/en/latest/installation.html|Installation]] 
 +  * [[https://kivy.org/docs/guide/packaging-android.html|Guide Android]] 
 + 
 +=====Les problèmes avec buildozer en décembre 2018=====
   * [[https://stackoverflow.com/questions/53613329/buildozer-gives-error-upon-building-pong-app-of-kivy-framework-for-android-publi|Buildozer gives error upon building pong app]] **Je ne suis pas le seul !**   * [[https://stackoverflow.com/questions/53613329/buildozer-gives-error-upon-building-pong-app-of-kivy-framework-for-android-publi|Buildozer gives error upon building pong app]] **Je ne suis pas le seul !**
   * [[https://stackoverflow.com/questions/43477095/buildozer-on-kivy-example-fails-to-build-apk/53849129#53849129|Buildozer on kivy example fails to build apk]] **Buildozer semble n'être qu'une perte de temps !**   * [[https://stackoverflow.com/questions/43477095/buildozer-on-kivy-example-fails-to-build-apk/53849129#53849129|Buildozer on kivy example fails to build apk]] **Buildozer semble n'être qu'une perte de temps !**
Ligne 19: Ligne 43:
   * [[https://www.reddit.com/r/Python/comments/9fqh7y/my_experience_with_kivy_so_far_2_weeks_in/|Vu de loin sur reddit.com]] **Mais ce ne sera pas sans peine**   * [[https://www.reddit.com/r/Python/comments/9fqh7y/my_experience_with_kivy_so_far_2_weeks_in/|Vu de loin sur reddit.com]] **Mais ce ne sera pas sans peine**
  
-====Cython====+====Quel Cython ?====
 **[[https://kivy.org/docs/installation/installation-linux.html#cython|Version de cython]]** **[[https://kivy.org/docs/installation/installation-linux.html#cython|Version de cython]]**
  
Ligne 25: Ligne 49:
    * buildozer avec pip ou pip3 et quelle version ?    * buildozer avec pip ou pip3 et quelle version ?
  
-====Version de SDK et NDK ANDROID API==== +====Quelle version de SDKNDK et ANDROID API ?==== 
-Dans le wiki Kivy, pages non indexées par les moteurs de recherches+  * **[[https://github.com/kivy/kivy/wiki/Android-SDK-NDK-Information|Android SDK NDK API Information]]** dans le wiki Kivy.
  
-  * **https://github.com/kivy/kivy/wiki/Android-SDK-NDK-Information**+=====Hello World sur debian buster avec python 3.7 dans une VirtualBox===== 
 +====Installation des dépendances==== 
 +<code> 
 +sudo apt-get install caja-open-terminal geany geany-plugins git gnome-system-tools locales
  
-=====Ressources===== +sudo dpkg --add-architecture i386 
-  * [[https://github.com/kivy/buildozer|Buildozer sur GitHub]] avce les isues, kivy, p4a +sudo apt-get update
-  * [[http://buildozer.readthedocs.io/en/latest/installation.html|Installation]] +
-  * [[https://kivy.org/docs/guide/packaging-android.html|Guide Android]] +
- +
-===== Kivy Virtual Machine (for Android/buildozer) sur Xubuntu 17.04  ===== +
- +
-**Xubuntu 17.04 n'est plus supporté, il n'est plus possible de faire des mises à jour ou un upgrade.** +
- +
-  * **[[https://kivy.org/#download|Kivy dans Virtualbox]]** Version Mai 2017 +
- +
-En bas de page, au paragraphe **Virtual Machine (for Android/buildozer)** télécharger le fichier kivy-buildozer-vm-2.0.zip, mais pas avec votre navigateur: +
- +
-  wget -c kivy-buildozer-vm-2.0.zip +
- +
-====Installation==== +
-Il faut apprendre VirtualBox, c'est particulier mais pas compliqué, ce n'est pas [[https://fr.wikipedia.org/wiki/Schizophr%C3%A9nie|skizophrène]], juste du [[https://fr.wikipedia.org/wiki/Trouble_dissociatif_de_l%27identit%C3%A9|dédoublement de personnalité]] ! +
- +
-====VirtualBox==== +
-  sudo apt-get install virtualbox virtualbox-guest-additions-iso+
  
-Je code sur ma cession hôte et je compile sur une session invitéedossier projets partagé et bi-directif.+sudo apt-get install libsdl2-dev zlib1g-dev pkg-config autoconf automake cmake dkms libtool libsdl2-2.0-0 ccache openjdk-11-jdk unzip ffmpeg libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libportmidi-dev libswscale-dev libavformat-dev libavcodec-dev libgstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good libncurses5:i386 libstdc++6:i386 libgtk2.0-0:i386 libpangox-1.0-0:i386 libidn11:i386 zlib1g:i386 openjdk-11-source libssl-dev openssl gcc libpangoxft-1.0-0:i386 adb libtool build-essential python3-pip python3-dev python3-six libpython3-all-dev python3-all python3-all-dev python3-virtualenv virtualenv
  
-A priori, buildozer ne supporte pas les liens symboliques, pour ne pas rajouter de problèmes, copier votre dossier de projet dans le home de la VM.+sudo pip3 install jinja2 appdirs sh colorama setuptools cython 
 +sudo pip3 install pygame kivy buildozer pyjnius 
 +</code>
  
-====Compilation==== +====Version==== 
-===Un hello world===+  * cython    0.29.2 
 +  * kivy      1.10.1 
 +  * buildozer 0.35 
 +  * pygame-1.9.4 
 +====Fichiers====
 <file python main.py> <file python main.py>
-#! /usr/bin/env python+#! /usr/bin/env python3
 # -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
  
 import kivy import kivy
-print(kivy.__version__) 
 kivy.require('1.10.1') kivy.require('1.10.1')
  
Ligne 76: Ligne 90:
 </file> </file>
  
-<file python builddozer.spec>+<file python buildozer.spec>
 [app] [app]
 title = My Application title = My Application
Ligne 84: Ligne 98:
 build_dir = /build/myapp build_dir = /build/myapp
 source.include_exts = py,png,jpg,kv,atlas source.include_exts = py,png,jpg,kv,atlas
-version = 0.02 +version = 3.00 
-requirements = python2,kivy+requirements = python3,kivy
 orientation = portrait orientation = portrait
 fullscreen = 0 fullscreen = 0
 android.arch = armeabi-v7a android.arch = armeabi-v7a
 +
 +android.api = 24
 +android.sdk = 20
 +android.ndk = 14b
 +android.ndk_path = /media/sf_data/src_android/android-ndk-r14b
 +android.sdk_path = /media/sf_data/src_android/android-sdk-20
  
 [buildozer] [buildozer]
Ligne 95: Ligne 115:
 </file> </file>
  
-Ne pas télécharger de SDK et NDK, buildozer le faitcela va créer un gros dossier .buildozer (1 Go) dans chacun de vos projets mais au moins ça marche et c'est vraiment du boulot parfait pour un fainéantc'est ordi qui bosse pas vous !+=====Hello World sur Xubuntu 18.04  avec python 3.6.7 dans une VirtualBox===== 
 +** Problèmece n'est pas python3.7 !!!**
  
-En janvier 2019:  +====Installation de buildozer à partir de la branche master sur github===
-  * ANDROIDAPI=19 +  sudo pip3 install https://github.com/kivy/buildozer/archive/master.zip 
-  * ANDROIDSDK=/home/kivy/.buildozer/android/platform/android-sdk-20 +installe buildozer 0.38 dev0
-  * ANDROIDNDKVER=r9c +
-  * SDK located at /home/kivy/.buildozer/android/platform/android-sdk-20 +
-  * NDK located at /home/kivy/.buildozer/android/platform/android-ndk-r9c +
-  * NDK version is r9c +
-  * API level set to 19+
  
-# Search for Cython (cython) +  sudo pip3 install git+https://github.com/kivy/kivy.git@master 
-#  -> found at /usr/local/bin/cython+Successfully installed Kivy-1.11.0.dev0
  
-Writing /home/kivy/hello-world/.buildozer/android/platform/python-for-android/build/python-install/lib/python2.7/site-packages/Kivy-1.10.1-py2.7.egg-info 
  
-===Le *.apk=== +===== Kivy Virtual Machine (for Android/buildozer) sur Xubuntu 17.04  ===== 
-{{myapplication-0.02-debug.apk}} +  * Voir ** [[https://kivy.org/#download|Kivy Virtual Machine (for Android/buildozer)]]** **juste pour essayer**, la VM est basée sur **Xubuntu 17.04 qu'il n'est plus possible de mettre à jour.**
-===== Kivy Virtual Machine (for Android/buildozer) avec python 3.5 ===== +
- +
- +
-===== Python-for-Android : sans intérêt !===== +
-  * **[[https://github.com/kivy/python-for-android|python-for-android sur github]]** +
- +
-Cela fait partie du projet Kivy, la doc sur les SDK et NDK est nulle à souhait, et il y a autant de problèmes qu'avec buildozer et par exemple pas de support de openssl en python3 donc pas de requête https ! +
-====Sur Github dans le projet Kivy==== +
-Python-for-Android est un emballeur pour les applications Python sur Android. Vous pouvez créer votre propre distribution Python, y compris les modules et dépendances de votre choix, et la regrouper dans un APK avec votre propre code. +
- +
-Les fonctionnalités incluent: +
-  Prise en charge de la construction avec Python 2 et Python 3. +
-  Différents moteurs d'applications, notamment Kivy, PySDL2 et un serveur Web View avec Python. +
-  * Prise en charge automatique de la plupart des modules Python purs et prise en charge intégrée de nombreux autres, notamment les dépendances courantes telles que numpy et sqlalchemy. +
-  * Cibles d'architecture multiples, pour les APK optimisés sur n'importe quel appareil. +
- +
-Pour la documentation et le support, voir: +
-  Site Web: http://python-for-android.readthedocs.io +
-  Liste de diffusion: https://groups.google.com/forum/#!forum/kivy-users ou https://groups.google.com/forum/#!forum/python-android. +
- +
-En 2015, ces outils ont été réécrits pour fournir une nouvelle interface, plus facile à utiliser et à étendre.+
  
-===== Des jeux qui marchent =====+===== Des applications réussies jusqu'en avril 2018=====
   * **[[https://wiki.labomedia.org/index.php/Multi_Pong|Multi Pong]]**   * **[[https://wiki.labomedia.org/index.php/Multi_Pong|Multi Pong]]**
-  * **[[taposc|Kivy: TapOSC]]**+  * **[[:taposc|Kivy: TapOSC]]**
   * **[[https://github.com/sergeLabo/wikikircandroid2|]]**   * **[[https://github.com/sergeLabo/wikikircandroid2|]]**
   * **[[https://github.com/sergeLabo/atts|Android Threaded TCP Server made with kivy buildozer python3]]**   * **[[https://github.com/sergeLabo/atts|Android Threaded TCP Server made with kivy buildozer python3]]**
Ligne 143: Ligne 137:
   * **[[https://github.com/sergeLabo/androidserver2|Python server on android, on local network. Used in a futur funny game.]]**   * **[[https://github.com/sergeLabo/androidserver2|Python server on android, on local network. Used in a futur funny game.]]**
   * **[[https://github.com/sergeLabo/kivent_example_16|Test with kivent example 16 avec kivent]]**   * **[[https://github.com/sergeLabo/kivent_example_16|Test with kivent example 16 avec kivent]]**
-  * **[[https://github.com/sergeLabo/Buggy/tree/master/android_wheel|Un téléphone pour volant]]**+  * **[[https://github.com/sergeLabo/Buggy/tree/master/android_wheel|Un téléphone comme volant]]**
  
-{{tag>kivy sb}}+{{tag>archive sb}}
archives/kivy_comment_creer_une_application_android_en_python.1546788783.txt.gz · Dernière modification : 2019/01/06 15:33 de serge