Nous travaillons sur une version S60 et cette plateforme dispose d'une belle API Python ..
Cependant, il n'y a rien d'officiel à propos de 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 le nouveau projet Android Scripting Environment (ASE / SL4A). Il a l'air génial et il a une certaine intégration avec les composants Android natifs.
Remarque: n'est plus sous "développement actif", mais certaines fourches peuvent l'être.
la source
Oui! : Environnement de script Android
Un exemple via Matt Cutts via SL4A - "voici un scanner de codes à barres écrit en six lignes de code Python:
la source
import android as a;d=a.Android();d.startActivity('android.intent.action.VIEW',"http://books.google.com?q=%d"%int(d.scanBarcode()['result']['SCAN_RESULT']))
Sous-ensemble Pygame pour Android
Pygame est un moteur de jeu 2D pour Python (sur ordinateur) populaire auprès des nouveaux programmeurs. Le sous-ensemble Pygame pour Android se décrit comme ...
Les exemples incluent un jeu complet emballé sous forme d'APK, ce qui est assez intéressant.
la source
Compilation croisée et Ignifuga
Mon blog contient des instructions et un correctif pour la compilation croisée de Python 2.7.2 pour Android.
J'ai également ouvert Ignifuga , mon moteur de jeu 2D. Il est basé sur Python / SDL et compile de manière croisée pour Android. Même si vous ne l'utilisez pas pour les jeux, vous pourriez obtenir des idées utiles du code ou de l'utilitaire de création (nommé Schafer , d'après Tim ... vous savez qui).
la source
Couche de script pour Android
SL4A fait ce que vous voulez. Vous pouvez facilement l'installer directement sur votre appareil depuis leur site, et n'avez pas besoin de root.
Il prend en charge une gamme de langues. Le python est le plus mature. Par défaut, il utilise Python 2.6, mais il existe un port 3.2 que vous pouvez utiliser à la place. J'ai utilisé ce port pour toutes sortes de choses sur un Galaxy S2 et cela a bien fonctionné.
API
SL4A fournit un port de leur
android
bibliothèque pour chaque langue prise en charge. La bibliothèque fournit une interface à l'API Android sous-jacente via un seulAndroid
objet.Chaque langue a à peu près la même API. Vous pouvez même utiliser l'API JavaScript dans les vues Web.
Les interfaces des utilisateurs
Pour les interfaces utilisateur, vous avez trois options:
Vous pouvez mélanger les options afin d'avoir une vue Web pour l'interface principale et toujours utiliser des dialogues natifs.
QPython
Il existe un projet tiers nommé QPython . Il s'appuie sur SL4A et ajoute d'autres éléments utiles.
QPython vous offre une interface utilisateur plus agréable pour gérer votre installation et comprend un petit éditeur de code à écran tactile, un shell Python et un shell PIP pour la gestion des packages. Ils ont également un port Python 3. Les deux versions sont disponibles gratuitement sur le Play Store. QPython regroupe également les bibliothèques d'un tas de Python sur des projets Android, y compris Kivy, donc ce n'est pas seulement SL4A.
Notez que QPython développe toujours sa fourchette de SL4A (cependant, pas beaucoup pour être honnête). Le projet SL4A principal lui-même est quasiment mort.
Liens utiles
la source
En tant qu'amoureux de Python et programmeur Android, je suis triste de dire que ce n'est pas une bonne façon de procéder. Il y a deux problèmes:
Un problème est qu'il existe bien plus qu'un simple langage de programmation pour les outils de développement Android. Beaucoup de graphiques Android impliquent des fichiers XML pour configurer l'affichage, similaire au HTML. Les objets java intégrés sont intégrés à cette disposition XML, et c'est beaucoup plus facile que d'écrire votre code pour passer de la logique au bitmap.
L'autre problème est que le G1 (et probablement d'autres appareils Android dans un avenir proche) ne sont pas aussi rapides. Les processeurs 200 MHz et la RAM sont très limités. Même en Java, vous devez effectuer une quantité décente de réécriture pour éviter plus de création d'objet si vous voulez rendre votre application parfaitement fluide. Python va être trop lent pendant un certain temps sur les appareils mobiles.
la source
Kivy
Je voulais ajouter à ce que @JohnMudd a écrit sur Kivy. Cela fait des années que la situation qu'il a décrite n'a pas changé et Kivy a considérablement évolué.
Le plus gros argument de vente de Kivy, à mon avis, est sa compatibilité multiplateforme. Vous pouvez tout coder et tester tout en utilisant n'importe quel environnement de bureau (Windows / * nix, etc.), puis empaqueter votre application pour une gamme de plates-formes différentes, y compris Android, iOS, MacOS et Windows (bien que les applications manquent souvent de l'aspect et de la convivialité natifs).
Avec le propre langage KV de Kivy , vous pouvez facilement coder et construire l'interface GUI (c'est comme Java XML, mais plutôt que TextView etc., KV a le sien
ui.widgets
pour une traduction similaire), ce qui est à mon avis assez facile à adopter.Actuellement, Buildozer et python-for-android sont les outils les plus recommandés pour créer et empaqueter vos applications. Je les ai essayés tous les deux et je peux affirmer fermement qu'ils font de la création d'applications Android avec Python un jeu d'enfant. Leurs guides sont également bien documentés.
iOS est un autre gros argument de vente de Kivy. Vous pouvez utiliser la même base de code avec quelques modifications requises via les outils kivy-ios Homebrew, bien que Xcode soit requis pour la construction, avant de s'exécuter sur leurs appareils (AFAIK, le simulateur iOS dans Xcode ne fonctionne pas actuellement pour la construction à architecture x86) . Il y a aussi des problèmes de dépendance qui doivent être compilés et manipulés manuellement dans Xcode pour avoir une construction réussie, mais ils ne seraient pas trop difficiles à résoudre et les gens de Kivy Google Group sont également très utiles.
Cela étant dit, les utilisateurs ayant une bonne connaissance de Python ne devraient pas avoir de problème à comprendre rapidement les bases.
Si vous utilisez Kivy pour des projets plus sérieux, vous pouvez trouver les modules existants insatisfaisants. Il existe cependant des solutions viables. Avec (en cours) pyjnius pour Android et pyobjus , les utilisateurs peuvent désormais accéder aux classes Java / Objective-C pour contrôler certaines des API natives.
la source
ScreenManager
car cela vous fera gagner des tonnes de temps. Un conseil est également de lire leur liste de diffusion, un groupe de personnes compétentes qui sont là pour vous aider.Termux
Vous pouvez utiliser l' application Termux , qui fournit un environnement POSIX pour Android, pour installer Python.
Notez que
apt install python
va installer Python3 sur Termux. Pour Python2, vous devez utiliserapt install python2
.la source
Pas pour le moment et vous auriez la chance de faire fonctionner Jython bientôt. Si vous prévoyez de commencer votre développement maintenant, vous feriez mieux de vous en tenir à Java pour l'instant.
la source
En utilisant SL4A (qui a déjà été mentionné par lui-même dans d'autres réponses), vous pouvez exécuter une instance Web2py complète (d'autres frameworks Web Python sont également des candidats potentiels). SL4A ne vous permet pas de faire des composants d'interface utilisateur natifs (boutons, barres de défilement, etc.), mais il prend en charge les WebViews . Une WebView n'est rien de plus qu'un navigateur Web rayé pointant vers une adresse fixe. Je pense que l'application native Gmail utilise une WebView au lieu de suivre la route normale des widgets.
Cette route aurait des caractéristiques intéressantes:
la source
QPython
J'utilise l'application QPython . Il est gratuit et comprend un éditeur de code, un interpréteur interactif et un gestionnaire de packages, vous permettant de créer et d'exécuter des programmes Python directement sur votre appareil.
la source
Depuis le site Python pour Android :
la source
Chaquopy
Chaquopy est un plugin pour le système de construction basé sur Gradle d'Android Studio. Il se concentre 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 au développeur d'utiliser le langage le mieux adapté à chaque composant de son application.
Il peut télécharger automatiquement les packages PyPI et les intégrer 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 la boîte à outils de l'interface utilisateur native ( exemple d'activité pure-Python ).
Il s'agit d'un produit commercial, mais il est gratuit pour une utilisation open-source et le restera toujours.
(Je suis le créateur de ce produit.)
la source
Encore une autre tentative: https://code.google.com/p/android-python27/
Celui-ci intègre directement l'interpréteur Python dans votre apk d'application.
la source
Voici quelques outils répertoriés sur le site officiel de Python
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 en utilisant la commande
Lien Playstore
Si vous souhaitez développer des applications, il existe Python Android Scripting Layer ( SL4A ) .
The Scripting Layer for Android, SL4A, is an open source application that allows programs written in a range of interpreted languages to run on Android. It also provides a high level API that allows these programs to interact with the Android device, making it easy to do stuff like accessing sensor data, sending an SMS, rendering user interfaces and so on.
Vous pouvez également vérifier PySide pour Android , qui est en fait des liaisons Python pour Qt 4.
Il existe une plate-forme appelée PyMob où les applications peuvent être écrites uniquement en Python et le flux d'outils du compilateur (PyMob) les convertit en codes sources natifs pour diverses plates-formes.
Vérifiez également python-for-android
python-for-android is an open source build tool to let you package Python code into standalone android APKs. These can be passed around, installed, or uploaded to marketplaces such as the Play Store just like any other Android app. This tool was originally developed for the Kivy cross-platform graphical framework, but now supports multiple bootstraps and can be easily extended to package other types of Python apps for Android.
Essayez Chaquopy A Python SDK pour Android
Anddd ... BeeWare
BeeWare allows you to write your app in Python and release it on multiple platforms. No need to rewrite the app in multiple programming languages. It means no issues with build tools, environments, compatibility, etc.
la source
Vous pouvez exécuter votre code Python à l'aide de sl4a . sl4a prend en charge Python, Perl , JRuby , Lua , BeanShell, JavaScript, Tcl et les scripts shell.
Vous pouvez apprendre des exemples de sl4a Python .
la source
Vous pouvez utiliser QPython :
Il a une console Python, un éditeur, ainsi que des gestionnaires / installateurs de packages
http://qpython.com/
Il s'agit d'un projet open source avec des implémentations Python 2 et Python 3. Vous pouvez télécharger la source et les fichiers Android .apk directement depuis github.
QPython 2: https://github.com/qpython-android/qpython/releases
QPython 3: https://github.com/qpython-android/qpython3/releases
la source
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 prend actuellement en charge Python 3.4.2 ou 3.5.1 et la version 10d du NDK. Il peut également prendre en charge 3.3 et 9c, 11c et 12
C'est bien parce que vous le téléchargez simplement, lancez make et vous obtenez le .so ou le .a
Je l'utilise actuellement pour exécuter Python brut sur des appareils Android. Avec quelques modifications aux fichiers de construction, vous pouvez également créer x86 et armeabi 64 bits
la source
Je n'ai pas vu cela publié ici, mais vous pouvez le faire avec Pyside et Qt maintenant que Qt fonctionne sur Android grâce à Necessitas.
Cela semble un peu compliqué pour le moment, mais pourrait éventuellement être une voie viable ...
http://qt-project.org/wiki/PySide_for_Android_guide
la source
Une autre option semble être pyqtdeploy qui citant les documents est:
Selon Deploying PyQt5 application to Android via pyqtdeploy et Qt5, il est activement développé, bien qu'il soit difficile de trouver des exemples d'applications Android fonctionnelles ou un tutoriel sur la façon de compiler de manière croisée toutes les bibliothèques requises vers Android. C'est un projet intéressant à garder à l'esprit!
la source
Jetez un œil à BeeWare . Au moment de répondre à cette question, elle en est encore à ses débuts. 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.
la source
Découvrez enaml-native qui prend le concept react-native et l'applique à python.
Il permet aux utilisateurs de créer des applications avec des widgets Android natifs et fournit des API pour utiliser les bibliothèques Android et Java à partir de Python.
Il s'intègre également à android-studio et partage quelques-unes des fonctionnalités de développement intéressantes de react comme le rechargement de code et le débogage à distance.
la source