Desarrollo de aplicaciones para Android completamente en Python

Por Soloelectronicos @soloelectronico

En la conferencia EuroPython en Florencia, Italia, dio  una jornada de formación  de medio día sobre el desarrollo de aplicaciones Python en Android. En total fue de 240 minutos de duración y se llevó a cabo el martes 03 de julio 2012 a las 09:00.


Crédito de la foto: Stefan Kögl

El objetivo de estas jornadas   era mostrar cómo empezar a desarrollar aplicaciones Android completos utilizando sólo Python. Diferentes tecnologías fueron  mostrados, incluyendo a base de PySide QML interfaces gráficas de usuario utilizando el puerto Necessitas Qt y el enfoque basado en SL4A Py4A /, que se puede combinar con WebKit y reutilizar los marcos Python web de Android.

Mientras que Android ya tiene una buena SDK fuera de la caja, poder utilizar Python en lugar de Java es una gran ventaja para algunos desarrolladores – que permite tiempos de respuesta más rápidos, y la reutilización de las bibliotecas de Python. Python en Android usa una acumulación CPython nativo, por lo que su rendimiento y compatibilidad es muy bueno. Combinado con PySide (que utiliza una compilación nativa Qt) y el apoyo de Qt para la aceleración OpenGL ES, puede crear interfaces de usuario fluida incluso con Python.

Las aplicaciones basadas en PySide resultantes se ejecutan en Android, pero también, al menos en Mac OS X, Windows, Linux y Maemo y MeeGo – básicamente todas las plataformas en las que Qt está disponible. Los / las aplicaciones basadas en Py4A SL4A se ejecutan en Android solo, pero será capaz de utilizar las API de Android-específicos. Ambos enfoques pueden combinarse también.

Descargas Código

  • mygame.py – PGS4A ejemplo
  • launcher.c – C envoltura / lanzador
  • run_gpodder.py – lanzador gPodder

Prepárese

Para empezar, tienes que descargar algunos paquetes a su ordenador principal, para que pueda desarrollar y desplegar sus paquetes de Python para su dispositivo Android:

  • SL4A : sl4a_r5.apk en su dispositivo
  • PGS4A : .tar.bz2 o .zip luego python android.py installsdk
  • Py4A : hg clone https://code.google.com/p/python-for-android/
  • SDK nativo (NDK): Descarga en el host
  • Java SDK: Descarga en el host

Video (segunda parte solamente)

Desafortunadamente, debido a problemas técnicos, la primera parte del vídeo no está disponible en línea. La segunda parte se puede encontrar aquí:

Las preguntas de la ruptura

Cómo instalar el emulador de Android

No se olvide de instalar las “Herramientas de la plataforma Android” a través de $SDK/tools/android !

  1. http://developer.android.com/tools/devices/
  2. $ SDK / herramientas / androide avd # “dispositivos virtuales android”
  3. crear emulador
  4. iniciar emulador
  5. “Adb devices” muestra emulador también

Dónde obtener SL4A para su dispositivo Android

  • sl4a_r5.apk
  • PythonForAndroid_r5.apk

A continuación, para instalar a través de adb:

  adb instalar Descargas / sl4a_r5.apk
 adb instalar Descargas / PythonForAndroid_r5.apk

Cómo instalar PySide en Mac OS X

Vea las instrucciones en el Proyecto Wiki Qt: Binarios PySide para Mac OS X

Otras instrucciones útiles

Ctypes de Construcción para el PGS4A

  hg clone https://code.google.com/p/android-python27/

Mira en README, copie el entorno configuración de la variable + arreglar caminos:

  environment.sh fuente
 bootstrap.sh fiesta
 build.sh fiesta
 / / lib.linux-i686-2.7 / _ctypes.so / ruta de compilación cp Python / a / pgs4a / private /
 cp -rpv Python / lib / ctypes ~ / src / pgs4a-0.9.4 / private / lib /
 cd / ruta / a / pgs4a /
 rm -rf / ctypes / test / lib privado

Ejecución de Python desde shell ADB

  /data/data/com.googlecode.pythonforandroid/files/python/bin cd
 export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: /data/data/com.googlecode.pythonforandroid/files/python/lib

Notas PGS4A

  • Cambio “android-8″ a “android-15″ para instalar la plataforma adecuada
  • Enlace simbólico “android-15″ de SDK de Android en pgs4a / android-sdk / plataformas
  • Para inicializar: python android.py configure mygame (escribirá un archivo .android.json )
  • Para construir y desplegar: python android.py build mygame release install

Notas Py4A

  http://code.google.com/p/python-for-android/wiki/BuildingPython
 exportación ANDROID_NDK = ~ / pkg / android-ndk-r8 /
 export PATH = $ PATH: $ ANDROID_NDK: $ ANDROID_NDK / toolchains / arm-linux-androideabi-4.4.3 / prebuilt / linux-x86 /