jython auf ausführen - Gibt es eine Möglichkeit, Python unter Android auszuführen?





12 Answers

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

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

interpreter programmieren app

Wir arbeiten an einer S60 Version und diese Plattform hat eine schöne Python-API.

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




Es gibt auch SL4A das von Google-Mitarbeitern SL4A geschrieben wurde.




Ich habe eine Anleitung und einen Patch für das Cross-Compilieren von Python 2.7.2 für Android veröffentlicht. Sie finden ihn in meinem Blog hier: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

BEARBEITEN: Ich habe Ignifuga , meine 2D-Spiel-Engine, die auf Python / SDL basiert und Open Compiliert hat , für Android zusammengestellt. Selbst wenn Sie es nicht für Spiele verwenden, erhalten Sie möglicherweise nützliche Ideen aus dem Code und dem Builder-Dienstprogramm (genannt Schafer, nach Tim ... wissen Sie, wer).




Als Python Liebhaber und Android-Programmierer muss ich leider sagen, dass dies nicht wirklich ein guter Weg ist. Es gibt zwei Probleme.

Ein Problem ist, dass die Android-Entwicklungstools nicht nur eine Programmiersprache enthalten. Bei vielen Android-Grafiken werden XML-Dateien zum Konfigurieren der Anzeige verwendet, ähnlich wie bei HTML. Die integrierten Java-Objekte sind wirklich in dieses XML-Layout integriert, und es ist viel einfacher, als eigenen Code zu schreiben, um von der Logik zur Bitmap zu gelangen.

Das andere Problem ist, dass das G1 (und wahrscheinlich auch andere Android-Geräte für die nahe Zukunft) wirklich nicht so schnell sind. 200 MHz-Prozessoren und der Arbeitsspeicher ist sehr begrenzt. Selbst in Java müssen Sie eine angemessene Menge an Neuschreibvorgängen erstellen, um weitere Objekte zu vermeiden, wenn Sie Ihre App reibungslos gestalten möchten. Python wird auf mobilen Geräten noch eine Weile zu langsam sein.




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

Diese Route hätte einige interessante Features:

  • Bei den meisten Python-Web-Frameworks können Sie tatsächlich ohne ein Android-Gerät oder einen Android-Emulator entwickeln und testen.
  • Der gesamte Python-Code, den Sie für das Telefon schreiben, kann auch mit nur wenigen Änderungen (wenn überhaupt) auf einem öffentlichen Webserver abgelegt werden.
  • Sie können all das verrückte Webmaterial nutzen: Abfrage, HTML5, CSS3 usw.



Ich verwende 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 lautet http://qpython.com/ .







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-Entwicklungswerkzeugen.

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

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

  • Es ermöglicht den uneingeschränkten Zugriff auf alle Android-APIs von Python, einschließlich des nativen Toolkits der Benutzeroberfläche ( Beispiel für eine reine Python-Aktivität ).

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

(Ich bin der Schöpfer dieses Produkts.)




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

Playstore-Link

Eine andere App namens Termux, in der Sie Python mit dem Befehl installieren können

pkg install python

Playstore-Link




Eine weitere Option, wenn Sie nach 3.4.2 oder 3.5.1 suchen, ist dieses Archiv auf GitHub.

Python3-Android 3.4.2 oder Python3-Android 3.5.1

Derzeit werden Python 3.4.2 oder 3.5.1 und die 10d-Version des NDK unterstützt. Es kann auch 3.3 und 9c, 11c und 12 unterstützen

Es ist schön, dass Sie es einfach herunterladen, "make" ausführen und ".so" oder ".a" erhalten

Ich verwende dies derzeit zum Ausführen von rohem Python auf Android-Geräten. Mit ein paar Änderungen an den Build-Dateien können Sie auch x86 und armeabi 64-Bit erstellen




Schauen Sie sich BeeWare . Zum Zeitpunkt der Beantwortung dieser Frage befindet es sich noch in einer frühen Entwicklung. Ziel ist es, native Apps mit Python für alle unterstützten Betriebssysteme einschließlich Android erstellen zu können.




Related