Gibt es eine Möglichkeit, Python unter Android zu betreiben?



11 Answers

Es gibt auch das neue Projekt Android Scripting Environment (ASE / SL4A). Es sieht fantastisch aus und es hat einige Integration mit nativen Android-Komponenten.

Hinweis: nicht mehr unter "aktive Entwicklung", aber einige Gabeln können sein.

Question

Wir arbeiten an einer S60 Version und diese Plattform hat eine nette Python API.

Es gibt jedoch nichts Offizielles über Python auf Android, aber da Jython existiert, gibt es eine Möglichkeit, die Schlange und den Roboter zusammenarbeiten zu lassen?




Es gibt auch Python-on-a-Chip, auf dem möglicherweise mosync läuft: google group







Es gibt auch SL4A geschrieben von Google-Mitarbeitern.




Habe das hier nicht gepostet, aber du kannst es mit Pyside und Qt jetzt machen, da Qt dank Necessitas auf Android läuft.

Es scheint im Moment ziemlich klamm zu sein, könnte aber irgendwann eine brauchbare Route sein ...

http://qt-project.org/wiki/PySide_for_Android_guide




Mit SL4A (das bereits in anderen Antworten erwähnt wurde) können Sie eine ausgewachsene web2py Instanz run (andere Python-Web-Frameworks sind wahrscheinlich ebenfalls Kandidaten). Mit SL4A können Sie keine nativen UI-Komponenten (Schaltflächen, Bildlaufleisten und Ähnliches) WebViews jedoch unterstützt. Ein WebView ist im Grunde nichts anderes als ein striped down Web-Browser, der auf eine feste Adresse zeigt. Ich glaube, dass die native Google Mail-App eine Webansicht verwendet, anstatt die normale Widgetroute zu verwenden.

Diese Route hätte einige interessante Eigenschaften:

  • Im Fall der meisten Python-Web-Frameworks könnten Sie tatsächlich entwickeln und testen, ohne ein Android-Gerät oder Android-Emulator zu verwenden.
  • Welcher Python-Code auch immer für das Telefon geschrieben wird, könnte auch auf einen öffentlichen Webserver mit sehr wenig (wenn überhaupt) Modifikation gebracht werden.
  • Sie können alle verrückten Web-Sachen nutzen: Query, HTML5, CSS3, usw.



Sie können Ihren Python-Code mit sl4a . sl4a unterstützt Python, Perl , JRuby , Lua , BeanShell, JavaScript, Tcl und Shell-Skript.

Sie können sl4a Python Beispiele lernen.




Chaquopy

Chaquopy ist ein Plugin für das Gradle-basierte Build-System von Android Studio. Es konzentriert sich auf die enge Integration mit den Standard-Android-Entwicklungstools.

  • Es bietet vollständige APIs, um Java von Python oder Python aus Java aufzurufen, sodass der Entwickler die für jede Komponente seiner App am besten geeignete Sprache verwenden kann.

  • Es kann automatisch PyPI-Pakete herunterladen und sie in eine App einbauen , einschließlich ausgewählter nativer Pakete wie NumPy.

  • Es ermöglicht den vollen Zugriff auf alle Android-APIs von Python, einschließlich des nativen Benutzeroberflächen-Toolkits ( Beispiel: reine Python-Aktivität ).

Dies ist ein kommerzielles Produkt, aber es ist kostenlos für Open-Source-Nutzung und wird immer so bleiben.

(Ich bin der Schöpfer dieses Produktes.)




Ich benutze die QPython-Anwendung. Es hat einen Editor, eine Konsole und Sie können Ihre Python-Programme damit ausführen. Die Anwendung ist kostenlos und der Link ist http://qpython.com/ .




Ich habe Anweisungen und einen Patch für Cross Compiling Python 2.7.2 für Android veröffentlicht, Sie können es in meinem Blog hier: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

EDIT: Ich habe Open Source Ignifuga , meine 2D Game Engine, es basiert auf Python / SDL und es kompiliert für Android. Selbst wenn Sie es nicht für Spiele verwenden, erhalten Sie möglicherweise nützliche Ideen aus dem Code und dem Builder-Dienstprogramm (namens Schäfer, nach Tim ... Sie wissen wer).




Es gibt eine App namens QPython3 im Playstore, die sowohl zum Bearbeiten als auch zum Ausführen von Python-Skripten verwendet werden kann.

Playstore-Link

Eine weitere App namens Termux, in der Sie Python mithilfe des Befehls installieren können

pkg install python

Playstore-Link




Als Python Liebhaber und Android-Programmierer bin ich traurig zu sagen, dass dies kein wirklich guter Weg ist. Es gibt zwei Probleme.

Ein Problem ist, dass es viel mehr als nur eine Programmiersprache für die Android-Entwicklungstools gibt. Viele der Android-Grafiken enthalten XML-Dateien, um die Anzeige ähnlich wie HTML zu konfigurieren. Die integrierten Java-Objekte sind wirklich in dieses XML-Layout integriert, und es ist viel einfacher, als Ihren eigenen Code zu schreiben, um von Logik zu Bitmap zu gehen.

Das andere Problem ist, dass die G1 (und wahrscheinlich andere Android-Geräte für die nahe Zukunft) wirklich nicht so schnell sind. 200 MHz Prozessoren und RAM ist sehr begrenzt. Selbst in Java müssen Sie eine ordentliche Menge an Neu-zu-vermeiden-mehr-Objekt-Erstellung vornehmen, wenn Sie Ihre App perfekt flüssig machen wollen. Python wird auf mobilen Geräten noch eine Weile zu langsam sein.




Related