Kivy est un framework Python permettant de développer des applications OpenGL gérant les nouveaux périphériques tactiles.
Python-For-Android est un outil développé par l’équipe de Kivy permettant de générer des paquets APK à partir d’applications Python écrites sous Kivy.
Je vous propose donc ici de mettre en place la chaîne de compilation nécessaire à la création de paquets APK Android.
La distribution utilisée ici est une Ubuntu 12.04 LTS avec Python 2.7.X.
L’API Android utilisée est la 14 et le NDK Android est le r8c.
Prérequis d’installation
Vérification de l’installation Java
Vous pouvez mettre la version de Java que vous voulez.
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer
Puis pour choisir la version de votre système.
sudo update-alternatives --config java
On vérifie.
java -version
Vous pouvez également exporter la variable d’environnement $JAVA_HOME dans .bashrc ou dans /etc/environment
La variable $JAVA_HOME doit pointer vers la jvm que vous utilisez.
Moi j’utilise la version suivante :
echo $JAVA_HOME /usr/lib/jvm/java-6-openjdk-amd64
Paquets à installer
Les paquets minimaux à installer.
sudo apt-get install build-essential patch git-core ccache ant pip python-dev
Sur les distributions 64 bits les paquets suivants sont à installer.
sudo apt-get install ia32-libs and libc6-dev-i386 lib32stdc++6 lib32z1
Mettre à jour Cython
sudo pip install --upgrade cython
Installation du SDK et du NDK
On crée un répertoire de travail, on télécharge le SDK, le NDK et Python-For-Android.
mkdir android-dev cd android-dev wget http://dl.google.com/android/ndk/android-ndk-r8c-linux-x86.tar.bz2 wget http://dl.google.com/android/android-sdk_r21.0.1-linux.tgz tar jxvf android-ndk-r8c-linux-x86.tar.bz2 tar xvf android-sdk_r21.0.1-linux.tgz git clone git://github.com/kivy/python-for-android
On doit ensuite mettre à jour nos variables d’environnement dans le fichier .bashrc par exemple :
export ANDROIDSDK="/path/to/android/android-sdk-linux_86" export ANDROIDNDK="/path/to/android/android-ndk-r8c" export ANDROIDNDKVER=r8c export ANDROIDAPI=14 export PATH=$ANDROIDNDK:$PATH export PATH=$ANDROIDSDK:$PATH export PATH=$ANDROIDSDK/tools:$PATH export PATH=$ANDROIDSDK/platform-tools:$PATH export JAVA_HOME="/usr/lib/jvm/java-6-openjdk-amd64"
Puis on prend en compte les modifications :
source .bashrc
Mise à jour du SDK Android
Dans le répertoire “tools” de votre SDK, lancez la commande suivante :
./android -update sdk -no-ui
La mise à jour peut-être longue en fonction des paquets téléchargés.
Utilisation des outils
Il faut utiliser à présent les outils disponibles dans le répertoire de Python-For-Android.
Construire la distribution Python avec Kivy et PIL :
./distribute.sh -m "pil kivy" -d "kivy-pil-dist"
Puis générer le paquet :
cd dist/kivy-pil-dist ./build.py --package org.test.monappli --name monappli \ --version 1.0 --dir ~/code/monappli --orientation portrait --permission INTERNET debug
Un paquet est généré dans le dossier bin.