Outils pour utilisateurs

Outils du site


archives:kivy_comment_creer_une_application_android_en_python

Ceci est une ancienne révision du document !


Kivy Comment créer une application android en python

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 Kivy. Mais apprendre , c'est dur !

Last but not least, un tas de package python ne sont pas supportés.

Les problèmes avec buildozer

Qu'en disent les internets ?

Cython

Version de cython

  • cython ou cython3 et quelle version ?
  • buildozer avec pip ou pip3 et quelle version ?

Version de SDK et NDK ANDROID API

Dans le wiki Kivy, pages non indexées par les moteurs de recherches

Ressources

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.

Juste pour essayer !

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 skizophrène, juste du 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ée: dossier projets partagé et bi-directif.

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.

Compilation

Un hello world

main.py
#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
import kivy
print(kivy.__version__)
kivy.require('1.10.1')
 
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()
builddozer.spec
[app]
title = My Application
package.name = myapp
package.domain = org.test
source.dir = .
build_dir = /build/myapp
source.include_exts = py,png,jpg,kv,atlas
version = 0.02
requirements = python2,kivy
orientation = portrait
fullscreen = 0
android.arch = armeabi-v7a
 
[buildozer]
log_level = 2
warn_on_root = 1

Ne pas télécharger de SDK et NDK, buildozer le fait. cela 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éant: c'est ordi qui bosse pas vous !

En janvier 2019:

  • ANDROIDAPI=19
  • ANDROIDSDK=/home/kivy/.buildozer/android/platform/android-sdk-20
  • 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) # → found at /usr/local/bin/cython

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

Des jeux qui marchent

archives/kivy_comment_creer_une_application_android_en_python.1546789016.txt.gz · Dernière modification : 2019/01/06 15:36 de serge