jython apk tutorial - Est-il possible d'exécuter Python sur Android?





12 Answers

Il y a aussi le nouveau projet Android Scripting Environment (ASE / SL4A). Cela a l'air génial, et il a une certaine intégration avec les composants natifs d'Android.

Remarque: ne figure plus sous "développement actif", mais certaines fourches peuvent l'être.

kivy qpython interpreteur

Nous travaillons sur une version S60 et cette plate-forme a une belle API Python.

Cependant, il n’ya rien d’officiel sur Python sur Android, mais puisque Jython existe, existe-t-il un moyen de laisser le serpent et le robot travailler ensemble?




Il y a aussi SL4A écrit en gros par les employés de Google.




J'ai posté des instructions et un correctif pour la compilation croisée de Python 2.7.2 pour Android, vous pouvez l'obtenir sur mon blog ici: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

EDIT: J'ai Open Source Ignifuga , mon moteur de jeu 2D, basé sur Python / SDL et compilant pour Android. Même si vous ne l'utilisez pas pour les jeux, vous pourriez obtenir des idées utiles du code et de l'utilitaire de construction (nommé Schafer, d'après Tim ... vous savez qui).




En tant qu'amoureux de Python et programmeur Android, je suis triste de dire que ce n'est pas vraiment une bonne façon de faire. Il y a deux problèmes.

Un problème est qu’il n’ya pas que des langages de programmation pour les outils de développement Android. Beaucoup de graphiques Android utilisent des fichiers XML pour configurer l’affichage, comme le HTML. Les objets java intégrés sont vraiment intégrés à cette disposition XML et il est beaucoup plus facile que d'écrire votre propre code de passer de la logique à la bitmap.

L’autre problème est que le G1 (et probablement d’autres appareils Android dans un avenir proche) ne sont vraiment pas si rapides. Processeurs à 200 MHz, et la RAM est très limitée. Même en Java, vous devez faire une quantité décente de réécriture pour éviter plus de création d'objets si vous souhaitez que votre application soit parfaitement lisse. Python va être trop lent pendant un moment encore sur les appareils mobiles.




En utilisant SL4A (qui a déjà été mentionné par lui-même dans d'autres réponses), vous pouvez run une instance web2py complète (d'autres frameworks Web python sont également susceptibles d'être candidats). SL4A ne vous permet pas de créer des composants d'interface utilisateur natifs (boutons, barres de défilement, etc.), mais il prend en charge WebViews . Une WebView n’est fondamentalement rien d’autre qu’un navigateur Web rayé pointant vers une adresse fixe. Je pense que l'application Gmail native utilise une WebView au lieu de suivre la route habituelle du widget.

Cet itinéraire aurait des caractéristiques intéressantes:

  • Dans le cas de la plupart des frameworks Web Python, vous pouvez réellement développer et tester sans utiliser d'appareil Android ni d'émulateur Android.
  • Quel que soit le code Python que vous écrivez pour le téléphone, il peut également être placé sur un serveur Web public avec très peu (le cas échéant) de modifications.
  • Vous pouvez tirer parti de tous les trucs fous du Web: requêtes, HTML5, CSS3, etc.



J'utilise l'application QPython. Il a un éditeur, une console et vous pouvez exécuter vos programmes Python avec. L'application est gratuite et le lien est http://qpython.com/ .







Vous pouvez exécuter votre code Python en utilisant sl4a . sl4a prend en charge les scripts Python, Perl , JRuby , Lua , BeanShell, JavaScript, Tcl et shell.

Vous pouvez apprendre des exemples python sl4a.




Chaquopy

Chaquopy est un plugin pour le système de construction basé sur Gradle d'Android Studio. Il met l'accent sur une intégration étroite avec les outils de développement Android standard.

  • Il fournit des API complètes pour appeler Java à partir de Python ou Python à partir de Java , permettant ainsi au développeur d’utiliser le langage le mieux adapté à chaque composant de leur application.

  • Il peut télécharger automatiquement les packages PyPI et les construire dans une application, y compris des packages natifs sélectionnés tels que NumPy.

  • Il permet un accès complet à toutes les API Android à partir de Python, y compris le kit d'outils d'interface utilisateur native ( exemple d'activité pure-Python ).

Ceci est un produit commercial, mais il est gratuit pour une utilisation en source ouverte et restera toujours ainsi.

(Je suis le créateur de ce produit.)




Il existe une application appelée QPython3 dans Playstore qui peut être utilisée à la fois pour éditer et exécuter un script Python.

Lien Playstore

Une autre application appelée Termux dans laquelle vous pouvez installer python à l'aide de la commande

pkg install python

Lien de magasin




Une autre option si vous recherchez 3.4.2 ou 3.5.1 est cette archive sur GitHub.

Python3-Android 3.4.2 ou Python3-Android 3.5.1

Il supporte actuellement Python 3.4.2 ou 3.5.1 et la version 10d du NDK. Il peut également supporter les versions 3.3 et 9c, 11c et 12.

C’est agréable de le télécharger, de lancer make et d’obtenir le .so ou le .a

J'utilise actuellement cela pour exécuter Python brut sur des appareils Android. Avec quelques modifications aux fichiers de construction, vous pouvez aussi créer x86 et armeabi 64 bit




Jetez un coup d'oeil à BeeWare . Au moment de répondre à cette question, il est encore au début du développement. Son objectif est de pouvoir créer des applications natives avec Python pour tous les systèmes d'exploitation pris en charge, y compris Android.




Related