Kivy Comment créer une application android en python

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 !

Testé en janvier 2019 sur:
Debian Buster alpha 4
et sur
Xubuntu 18.04 dans VirtualBox

Buildozer et python 3

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.

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

Les problèmes avec buildozer en décembre 2018

Quel Cython ?

Version de cython

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

Quelle version de SDK, NDK et ANDROID API ?

Hello World sur debian buster avec python 3.7 dans une VirtualBox

Installation des dépendances

sudo apt-get install caja-open-terminal geany geany-plugins git gnome-system-tools locales

sudo dpkg --add-architecture i386
sudo apt-get update

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

sudo pip3 install jinja2 appdirs sh colorama setuptools cython
sudo pip3 install pygame kivy buildozer pyjnius

Version

  • cython 0.29.2
  • kivy 1.10.1
  • buildozer 0.35
  • pygame-1.9.4

Fichiers

main.py
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
 
import kivy
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()
buildozer.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 = 3.00
requirements = python3,kivy
orientation = portrait
fullscreen = 0
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]
log_level = 2
warn_on_root = 1

Hello World sur Xubuntu 18.04 avec python 3.6.7 dans une VirtualBox

Problème: ce n'est pas python3.7 !!!

Installation de buildozer à partir de la branche master sur github

sudo pip3 install https://github.com/kivy/buildozer/archive/master.zip

installe buildozer 0.38 dev0

sudo pip3 install git+https://github.com/kivy/kivy.git@master

Successfully installed Kivy-1.11.0.dev0

Kivy Virtual Machine (for Android/buildozer) sur Xubuntu 17.04

Des applications réussies jusqu'en avril 2018

  • kivy_comment_creer_une_application_android_en_python.txt
  • Dernière modification: 2019/01/23 14:43
  • par serge