C'è un modo per eseguire Python su Android?



Answers

C'è anche il nuovo progetto Android Scripting Environment (ASE / SL4A). È fantastico e ha una certa integrazione con i componenti Android nativi.

Nota: non più in "sviluppo attivo", ma alcune forcelle potrebbero esserlo.

Question

Stiamo lavorando su una versione S60 e questa piattaforma ha una bella API Python.

Tuttavia, non esiste nulla di ufficiale su Python su Android, ma poiché esiste Jython , c'è un modo per far interagire il serpente e il robot?




Io uso l'applicazione QPython. Ha un editor, una console ed è possibile eseguire i programmi Python con esso. L'applicazione è gratuita e il collegamento è http://qpython.com/ .




C'è un'app chiamata QPython3 in playstore che può essere utilizzata sia per la modifica che per l'esecuzione di script Python.

Collegamento Playstore

Un'altra app chiamata Termux in cui è possibile installare python usando il comando

pkg install python

Link Playstore




Puoi eseguire il tuo codice Python usando sl4a . sl4a supporta Python, Perl , JRuby , Lua , BeanShell, JavaScript, Tcl e lo script di shell.

Puoi imparare gli esempi di Python sl4a.




Non ho visto questo postato qui, ma puoi farlo con Pyside e Qt ora che Qt funziona su Android grazie a Necessitas.

Al momento sembra piuttosto un kludge ma potrebbe essere una strada percorribile alla fine ...

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




Ho postato le istruzioni e una patch per cross compilare Python 2.7.2 per Android, è possibile scaricarlo sul mio blog qui: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

EDIT: Ho aperto Ignifuga , il mio motore di gioco 2D, è basato su Python / SDL e compila cross per Android. Anche se non lo usi per i giochi, potresti ottenere idee utili dal codice e dall'utilità builder (chiamato Schafer, dopo Tim ... sai chi).




Come amante di Python e programmatore Android, sono triste nel dire che questo non è davvero un buon modo per andare. Ci sono due problemi.

Un problema è che c'è molto più di un semplice linguaggio di programmazione per gli strumenti di sviluppo Android. Gran parte della grafica Android coinvolge i file XML per configurare il display, in modo simile all'HTML. Gli oggetti java integrati sono davvero integrati con questo layout XML, ed è molto più semplice della scrittura del proprio codice per passare dalla logica alla bitmap.

L'altro problema è che G1 (e probabilmente altri dispositivi Android per il prossimo futuro) non sono poi così veloci. I processori a 200 MHz e la RAM sono molto limitati. Anche in Java devi fare una discreta quantità di riscrittura-da-evitare-più-creazione di oggetti se vuoi rendere la tua app perfettamente fluida. Python sarà troppo lento ancora per un po 'sui dispositivi mobili.




Usando SL4A (che è già stato menzionato da solo in altre risposte) è possibile run un'istanza web2py piena web2py (anche altri framework web Python sono probabilmente candidati). SL4A non consente di eseguire componenti UI nativi (pulsanti, barre di scorrimento e simili), ma supporta WebViews . Un WebView non è fondamentalmente altro che un browser Web a strisce rivolto verso un indirizzo fisso. Credo che l'app Gmail nativa utilizzi una WebView invece di utilizzare la normale route del widget.

Questo percorso avrebbe alcune caratteristiche interessanti:

  • Nel caso della maggior parte dei framework web Python, è possibile sviluppare e testare senza utilizzare un dispositivo Android o un emulatore Android.
  • Qualunque sia il codice Python che si finisce per scrivere per il telefono potrebbe anche essere messo su un server web pubblico con modifiche minime (se presenti).
  • Puoi sfruttare tutte le cose pazze del web: query, HTML5, CSS3, ecc.






C'è anche Python su chip che può eseguire il mosync: google group




Chaquopy

Chaquopy è un plugin per il sistema di build basato su Gradle di Android Studio. Si concentra su una stretta integrazione con gli strumenti di sviluppo Android standard.

  • Fornisce API complete per chiamare Java da Python o Python da Java , consentendo allo sviluppatore di utilizzare qualsiasi lingua sia la migliore per ogni componente della propria app.

  • Può scaricare automaticamente pacchetti PyPI e crearli in un'app, inclusi i pacchetti nativi selezionati come NumPy.

  • Consente l'accesso completo a tutte le API Android di Python, incluso il toolkit dell'interfaccia utente nativa (ad esempio l'attività pure-Python ).

Questo è un prodotto commerciale, ma è gratuito per l'uso open source e rimarrà sempre tale.

(Sono il creatore di questo prodotto.)




C'è anche SL4A scritto in grande dai dipendenti di Google.




Links