Ar yra būdas paleisti „Python“ „Android“?

Mes dirbame su S60 versija ir šioje platformoje yra geras Python API.

Tačiau „Python“ kompiuteryje „Android“ nėra nieko, bet nuo „ Jython“ egzistavimo yra galimybė, kad gyvatė ir robotas galėtų dirbti kartu?

1753 m
19 сент. nustatytas e-satis 19 sep. 2008-09-19 16:21 '08 at 4:21 pm 2008-09-19 16:21
@ 26 atsakymai

Vienas iš būdų yra naudoti Kivy :

Atviro kodo „Python“ biblioteka, skirta sparčiai plėtoti programas, kuriose naudojamos novatoriškos vartotojo sąsajos, pvz., Daugialypės programos.

Kivy veikia Linux, Windows, OS X, Android ir iOS. Visose palaikomose platformose galite paleisti tą patį [python] kodą.

„Kivy Showcase“ programa

733
19 нояб. JohnMudd lapkričio 19 d. Atsakymas 2011-11-19 00:49 '11 prie 0:49 2011-11-19 00:49

Taip pat yra „ Android Scripting Environment“ projektas (ASE / SL4A). Jis atrodo nuostabus ir turi tam tikrą integraciją su vietiniais „Android“ komponentais.

border=0

Pastaba: „aktyvus kūrimas“ nebepalaikomas, tačiau gali būti kai kurie kištukai.

287
10 июня '09 в 8:24 2009-06-10 08:24 atsakymas pateikiamas „ Heat Miser“ birželio 10 d., 08:24, 2009-06-10 08:24

TAIP!

Pavyzdys per „Matt Cutts“ per „SL4A“ - „hereso brūkšninio kodo skaitytuvas parašytas šešiose„ Python “kodo eilutėse:

 import android droid = android.Android() code = droid.scanBarcode() isbn = int(code['result']['SCAN_RESULT']) url = "http://books.google.com?q=%d" % isbn droid.startActivity('android.intent.action.VIEW', url) 
168
10 июня '09 в 8:13 2009-06-10 08:13 atsakymas pateikiamas nepašalintas birželio 10 d., 08:13, 2009-06-10 08:13

Taip pat yra „Google“ darbuotojų parašytas SL4A .

69
26 мая '11 в 12:21 2011-05-26 12:21 atsakymą pateikė Rab Ross gegužės 26 d. 11 d. 12:21 2011-05-26 12:21

„„ Android “„ Pygame “ pogrupis yra„ Pygame “funkcijų„ Android “platformai pogrupis. Projekto tikslas yra sudaryti sąlygas kurti„ Android “konkrečius žaidimus ir palengvinti žaidimų perkėlimą iš kompiuterinių platformų į„ Android “.“

Pavyzdžiai - tai pilnas žaidimas, supakuotas į apk, kuris yra gana įdomus.

66
28 янв. atsakymas duotas muriloq 28 d 2011-01-28 15:18 '11 at 15:18 2011-01-28 15:18

Aš parašiau instrukcijas ir plyšį, skirtą „Python 2.7.2“, skirtą „Android“, kompiliuojant, galite jį rasti mano tinklaraštyje čia: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

EDIT: Aš atidariau „Ignifuga“ , mano 2D žaidimo variklį, jis yra pagrįstas „Python / SDL“ ir kryžminiu „Android“. Net jei nenaudojate žaidimų, galite gauti naudingų idėjų iš kodo ir statybininko įrankio (pavadintas „Shafer“, po Tim ... žinote, kas).

60
12 окт. atsakymą pateikė gabomdq apie 12 d. 2011-10-12 16:49 '11, 16:49 PM 2011-10-12 16:49

SL4A

„Android“ scenarijų sluoksnis daro tai, ko norite. Ją galite lengvai įdiegti tiesiai savo prietaise iš savo svetainės ir nereikia šaknies.

Ji palaiko kelias kalbas; Python yra labiausiai subrendęs. Pagal numatytuosius nustatymus jis naudoja „Python 2.6“, bet yra 3,2 prievadas , kurį galite naudoti. Aš naudoju šį uostą visiems „Galaxy S2“ dalykams, ir tai gerai.

API

SL4A suteikia android bibliotekos prievadą kiekvienai palaikomai kalbai. Biblioteka suteikia pagrindinės „Android“ API sąsajos per vieną „ android objektą.

 import android droid = android.Android() # example using the text to speech facade droid.ttsSpeak('hello world') 

Kiekviena kalba turi beveik tą patį API. Jūs netgi galite naudoti „JavaScript“ api viduje „webview“.

 var droid = new Android(); droid.ttsSpeak('hello from js'); 

Vartotojo sąsajos

Naudotojų sąsajoms turite tris parinktis:

  • Naudodami API galite lengvai naudoti bendrus, vietinius dialogus ir meniu. Tai naudinga patvirtinimo dialogams ir kitiems pagrindiniams naudotojo įvestims.
  • Taip pat galite atidaryti internetinį vaizdą iš „python“ scenarijaus ir tada naudokite HTML5 vartotojo sąsajai. Naudodamiesi „Python“ žiniatinklio vaizdais, galite pereiti iš žinučių į priekį ir atgal tarp žiniatinklio ir pythono proceso, kuris jį sukūrė. Vartotojo sąsaja nebus gimtoji, tačiau ji vis dar yra geras pasirinkimas.
  • Yra tam tikras „Android“ naudotojų sąsajų palaikymas, bet nesu įsitikinęs, kaip gerai jis veikia; Aš niekada nesinaudoju.

Galite maišyti parametrus, kad galėtumėte matyti pagrindinės sąsajos vaizdą ir vis dar naudoti savo dialogus.

Qpython

Yra trečiosios šalies projektas „ QPython“ . Jis remiasi SL4A ir sumažina naudingų dalykų.

„QPython“ suteikia jums patogesnę sąsają, kad galėtumėte valdyti diegimą, ir apima nedidelį jutiklinio ekrano kodo redaktorių, Python apvalkalą ir PIP apvalkalą paketų tvarkymui. Jie taip pat turi „Python 3“ prievadą. Abi versijos yra prieinamos „Play“ parduotuvėje nemokamai. „QPython“ taip pat jungia „Python“ grupės bibliotekas „Android“ projektuose, įskaitant „Kivy“, todėl tai ne tik SL4A.

Atkreipkite dėmesį, kad „QPython“ vis dar plėtoja savo SL4A kištuką (nors ir ne tikrai, kad būtų sąžiningas). Pagrindinis SL4A projektas yra beveik miręs.


51
19 марта '12 в 18:45 2012-03-19 18:45 Carl Smith atsakymą pateikė kovo 19 d. 12 val. 18.45 val. 2012-03-19 18:45

Būdamas „ Python“ meilužis ir „Android“ programuotojas, esu liūdna pasakyti, kad tai nėra labai geras būdas. Yra dvi problemos.

Viena iš problemų yra ta, kad „Android“ kūrimo įrankiams yra daug daugiau nei programavimo kalba. Dauguma „Android“ grafinių vaizdų yra XML failai, skirti ekranui pritaikyti, panašūs į HTML. Įterpti „Java“ objektai yra tikrai integruoti su šiuo XML išdėstymu, ir daug lengviau nei parašyti savo kodą, kad galėtumėte pereiti nuo logikos prie bitmap.

Kita problema yra ta, kad G1 (ir tikriausiai kiti „Android“ įrenginiai artimiausioje ateityje) tikrai nėra toks greitas. 200 MHz ir RAM yra labai ribotos. Net ir „Java“, turite padaryti tinkamą perrašymą, kad nesukurtumėte daugiau objektų, jei norite, kad programa būtų visiškai lygi. „Python“ mobiliesiems įrenginiams tam tikrą laiką bus per lėtas.

50
01 нояб. atsakymas pateikiamas trūksta 01 lapkričio. 2008-11-01 23:29 '08 at 11:29 2008-11-01 23:29

Šiuo metu nesate laimingi, kad „Jython“ netrukus dirbs. Jei planuojate pradėti plėtoti dabar, jums būtų geriau tiesiog laikytis „Java“ dabar.

30
19 сент. Atsakyti Ilya Kochetov rugsėjo 19 d 2008-09-19 16:26 '08 at 4:26 pm 2008-09-19 16:26

Naudojant SL4A (kuri jau buvo paminėta kituose atsakymuose), galite paleisti viso ekrano web2py (kiti python web rėmeliai taip pat yra kandidatai). SL4A neleidžia sukurti savo vartotojo sąsajos komponentų (mygtukų, slinkties juostų ir tt), tačiau palaiko „ WebViews“ . „WebView“ yra nieko daugiau nei dryžuota žiniatinklio naršyklė, nukreipta į fiksuotą adresą. Manau, kad vietinė „Gmail“ programa naudoja „WebView“, o ne įprastą valdiklį.

Šiame maršrute bus įdomių funkcijų:

  • Daugumoje „python“ žiniatinklio struktūrų jūs iš tikrųjų galite kurti ir išbandyti nenaudodami „Android“ įrenginio ar „Android“ emuliatoriaus.
  • Nepriklausomai nuo „Python“ kodo, kurį rašote telefonui, taip pat galite įdėti jį į viešai prieinamą žiniatinklio serverį su labai mažu (jei yra) pakeitimu.
  • Galite naudoti visas beprotiškas žiniatinklio medžiagas: užklausą, HTML5, CSS3 ir kt.
25
06 янв. atsakymas pateikiamas gdw2 06 Sau 2012-01-06 17:34 '12 at 5:34 pm 2012-01-06 17:34

Kivy


Norėčiau jį paskelbti kaip pratęsimą, į kurį jau buvo atsakyta ( @JohnMudd ) (bet prašau nuvykti , nes anglų kalba nėra mano pirmoji kalba)

Nuo to laiko praėjo daug metų, o Kivy išsivystė į v1.9-dev. Mano nuomone, didžiausias „Kivy“ pardavimo taškas yra kompleksinis suderinamumas. Galite koduoti ir išbandyti vietinėje aplinkoje (Windows / * nix ir tt), taip pat galite kurti, derinti ir pakuoti taikomąją programą, kad galėtumėte dirbti „Android“ / „iOS“ / „Mac“ / „Windows“ įrenginiuose.

Savo KV kalba galite lengvai nurodyti ir sukurti GUI sąsają (tai panaši į „Java XML“, o ne „TextView“ ir kt., KV turi savo ui.widgets panašiam vertimui), kuri, mano nuomone, yra gana paprasta priimti.

Šiuo metu „ Buildozer“ ir „ python-for-android“ yra labiausiai rekomenduojami įrankiai kuriant / pakuojant jūsų programas. Aš juos išbandžiau ir galiu tvirtai pasakyti, kad jie sukuria „Android“ programas su „Python“. Vartotojai, kurie jaučiasi patogiai savo konsolės / terminalo / komandos klausimuose, neturėtų turėti problemų naudojant juos, o jų vadovai taip pat gerai dokumentuojami.

Be to, „iOS“ yra dar viena didelė „Kivy“ pardavimo vieta, su sąlyga, kad jūs galite naudoti tą patį kodo pagrindą su nedideliais pakeitimais, reikalingais bandydami savo „iOS“ įrenginį per „ kivy-ios Homebrew Tools“, nors Xcode turi sukurti prieš paleisdami Jo įrenginiai (AFAIK iOS Simulator Xcode šiuo metu neveikia x86 architektūros kūrimui). Taip pat yra keletas priklausomybės problemų, kurias reikia surinkti ir naudoti „Xcode“, kad būtų sėkmingai sukurta, tačiau juos būtų sunku išspręsti, o „ Kivy“ „Google“ grupės žmonės tikrai naudingi.

Su visais, kad vartotojai, turintys gerų žinių apie „Python“, neturėtų nerimauti dėl pagrindinių savybių sudarymo per kelias savaites (jei ne dienas), kad būtų sukurtos kelios paprastos programos.

Taip pat verta paminėti, kad galite susieti (kurti receptus) savo „Python“ modulius su surinkimu, kad vartotojai galėtų iš tikrųjų naudotis daugeliu esamų bibliotekų, kurias mums suteikia „Python“, pvz., „ Prašymai“ ir „ PIL“ ir tt per Kivy plėtinį .

Kartais jūsų paraiška reikalauja funkcionalumo, kuris viršija „Kivy“ teikiamos apimties ribas. Tokiais atvejais būtina kreiptis į išorines programinės įrangos bibliotekas. Atsižvelgiant į Python turtingumą, jau yra daug programinės įrangos bibliotekų, kurias galite tiesiog importuoti ir naudoti iš karto.

Paskutinis, bet ne mažiau svarbus dalykas, jei ketinate naudoti „Kivy“ daugiau rimtų / komercinių projektų, galite pastebėti, kad esami moduliai nėra patenkinami. Yra keletas priimtinų sprendimų, nors „nebaigtas darbas“ „ pyjnius“ skirtas „Android“ ir „ pyobjus“ . Dabar vartotojai gali pasiekti „Java“ / „Objective-C“ klases per šiuos modulius, kad galėtų valdyti kai kurias savo API.

Mano patirtis su „Kivy“ yra ta, kad ji geriausiai tinka patyrusiems „Python“ programuotojams ir kai kuriems rimtiems programuotojams, norintiems greitai kurti ar paprastai palaikyti kodo bazę. Jis gerai veikia keliose platformose, nors ir ne savo jausmu.

Tikiuosi, kad kai kurie Python programuotojai ras šią informaciją naudingą ir pradės žiūrėti į Kivy. Jei bendruomenė turi didelį susidomėjimą, ji gali tik pagerinti (daugiau paramos ir perkėlimo bibliotekų / modulių).

PS Aš neturiu jokių ryšių su Qiwi, aš tiesiog programuotojas, kuris tikrai mėgsta idėją Python malonumui mobiliai / tarpplatforminei plėtrai.

23
13 янв. Atsakymą Anzel pateikė sausio 13 d. 2015-01-13 05:08 '15, 5:08 2015-01-13 05:08

Aš naudoju QPython programą. Jis turi redaktorių, konsolę ir su juo galite paleisti savo Python programas. Programa yra nemokama, o nuoroda yra http://qpython.com/ .

18
12 июня '13 в 22:46 2013-06-12 22:46 atsakymas pateikiamas kyle k birželio 12 d. 13 val. 10:46 2013-06-12 22:46

Python“ svetainėje „Android“ :

„Android“ „Python“ yra projektas, skirtas sukurti savo „Python“ platinimą, įskaitant norimus modulius ir sukurti „apk“, įskaitant „python“, „libs“ ir jūsų programą.

17
09 янв. atsakymas pateikiamas gdw2 09 jan. 2012-01-09 07:46 '12 at 7:46 2012-01-09 07:46

Kitas bandymas: https://code.google.com/p/android-python27/

Tai yra įdiegtas tiesioginis „Python“ vertėjas „apk“ programoje.

14
09 мая '12 в 18:44 2012-05-09 18:44 atsakymas pateikiamas e-satis 09 gegužės 12 d. 18:44 2012-05-09 18:44

Python kodą galite paleisti naudodami sl4a . sl4a palaiko Python, Perl , JRuby , Lua , BeanShell, JavaScript, Tcl ir shell scenarijus.

Galite rasti p440 Python pavyzdžių.

8
11 марта '13 в 12:36 2013-03-11 12:36 atsakymą Hitul pateikė kovo 13 d. 13 val. 12:36 2013-03-11 12:36

Yra keli būdai naudoti „Python“ „Android“.

„BeeWare“ yra įrankių rinkinys, skirtas vartotojo sąsajoms kurti.

Chaquopy yra „Android“ studijos „Gradle“ pagrindu sukurtos kūrimo sistemos papildinys.

„Kivy“ yra „OpenGL“ pagrįstas tarpplatforminis vartotojo sąsajos įrankių rinkinys.

pyqtdeploy yra PyQt programų diegimo įrankis.

„QPython“ yra įrenginio scenarijų kūrimas ir aplinka.

SL4A („Android“ scenarijų sluoksnis), iš pradžių vadinamas „ASE“ („Android Script Development Environment“), yra „fasadų“ kolekcija, kuri suteikia žymiai supaprastintą „Android“ API pakategorį.

„PySide“ („Python Binding for Qt Toolkit“) turi tam tikrą preliminarią paramą „Android“.

Nors pagrindinė „Android“ programavimo kalba yra „Java“, platformoje nėra žinomo „Jython“ prievado. „Android“ palaikymas „BeeWare“ yra pasiektas naudojant VOC, įrankį, kuris susideda iš „Python“ šaltinio kodo į „Java“ klasės failus. Tai leidžia jums vykdyti „Python“ kodą kaip vietinį dvejetainį JVM. https://wiki.python.org/moin/Android

8
23 янв. atsakymą pateikė Umer Farooq 23 jan. 2018-01-23 14:58 '18, 14:58 pm 2018-01-23 14:58

Be to, „python-on-a-chip“ gali paleisti „mosync: google“ grupę

7
29 марта '11 в 19:42 2011-03-29 19:42 atsakymas pateikiamas vasario 29 d. 11 val. 19:42 2011-03-29 19:42

Kita galimybė, jei ieškote 3.4.2 arba 3.5.1, yra šis „GitHub“ archyvas.

Python3-Android 3.4.2 arba Python3-Android 3.5.1

Šiuo metu ji palaiko „Python 3.4.2“ arba „3.5.1“ ir „NDK“ 10d versiją. Jis taip pat gali palaikyti 3.3 ir 9c, 11c ir 12

Gerai, kad jį tiesiog įkeliate, paleiskite ir gaukite .so arba .a

Šiuo metu naudoju tai paleisti neapdorotą „Python“ „Android“ įrenginiuose. Naudodamiesi keletu statymo failų pakeitimų, galite padaryti ir 64, ir 64 bitų

6
25 февр. Atsakymą pateikė GR pasiuntinys vasario 25 d. 2015-02-25 16:04 '15 at 4:04 pm 2015-02-25 16:04

Galite naudoti „ Termux“ programą:

Atkreipkite dėmesį, kad „Python 2“ įdiegti „python“ įdiegti „python“ 3 „python“.

Kai kurie demonstraciniai failai yra čia: https://www.youtube.com/watch?v=fqqsl72mASE

Be github puslapio: https://github.com/termux

6
20 янв. atsakymą pateikė Adrian Stanculescu sausio 20 d. 2017-01-20 14:36 '17, 14:36 pm 2017-01-20 14:36

Aš nemačiau, kad tai būtų paskelbta čia, bet dabar galite tai padaryti su „Pyside“ ir „Qt“, kurie „Qt“ dirba „Android“ dėka „Necessitas“.

Šiuo metu tai panaši į kludą, tačiau galiausiai tai gali tapti perspektyviu būdu.

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

6
06 окт. atsakymą pateikė radix07 06 oct. 2014-10-06 17:59 '14, 17:59 2014-10-06 17:59

Playstore yra programa, vadinama QPython3, kurią galima naudoti ir redagavimui, ir python scenarijai paleisti.

„Playstore“ nuoroda

Kita programa, vadinama „Termux“, kurioje galite įdiegti python komandą

 packages install python 

„Playstore“ nuoroda

5
15 апр. atsakymas pateikiamas Pzy64 15 d. 2017-04-15 17:09 '17, 17:09 pm 2017-04-15 17:09

Galite naudoti QPython :

Jame yra „Python“ konsolė, redaktorius ir paketų valdymas / diegėjai.

http://qpython.com/

Tai atviro kodo projektas su „Python 2“ ir „Python 3“ diegimais. „Android“ šaltinį galite atsisiųsti iš „github“.

QPython 2: https://github.com/qpython-android/qpython/releases

QPython 3: https://github.com/qpython-android/qpython3/releases

4
16 сент. atsakymas pateikiamas ode2k 16 sep . 2016-09-16 05:41 '16 at 5:41 am 2016-09-16 05:41

Kita galimybė yra „ pyqtdeploy“ , kurioje nurodomi dokumentai:

įrankis, kuris kartu su kitais „Qt“ pateiktais įrankiais leidžia įdiegti „PyQt4“ ir „PyQt5“ programas, parašytas „Python v2.7“ arba „Python v3.3“ ar naujesnėse versijose. Jis palaiko platformų (Linux, Windows ir OS X) ir mobiliųjų platformų (iOS ir Android) diegimą darbalaukyje.

Remiantis „PyQt5“ programos diegimu „Android“ per „pyqtdeploy“ ir „Qt5“ , jis yra aktyviai plėtojamas, nors sunku rasti „Android“ programų arba pamokų apie tai, kaip eiti, pavyzdžius - surinkti visas reikalingas „Android“ bibliotekas. Tai įdomus projektas, kurį reikia prisiminti!

3
18 мая '15 в 4:56 2015-05-18 04:56 atsakymą pateikė Andrzej Pronobis gegužės 18 d., 15 val., 4:56 2015-05-18 04:56

Chaquopy

Chaquopy yra „Android“ studijos „Gradle“ pagrindu sukurtos kūrimo sistemos papildinys. Pagrindinis dėmesys skiriamas griežtai integruotai su standartinėmis „Android“ kūrimo priemonėmis.

  • Ji suteikia pilną API skambinti „ Java“ iš „Java“ iš „Python“ arba „ Python“ , leidžiančio kūrėjui naudoti bet kurią kalbą kiekvienam jo paraiškos komponentui.

  • Jis gali automatiškai atsisiųsti „ PyPI“ paketus ir sukurti juos programoje, įskaitant pasirinktus pasirinktinius paketus, pvz., „NumPy“.

  • Ji suteikia visišką prieigą prie visų „Python“ „Android“ API, įskaitant vartotojo sąsajos įrankių rinkinį ( gryno „Python“ veiklos pavyzdys ).

Tai komercinis produktas, tačiau jis yra laisvas naudoti su atviru šaltiniu ir visada bus toks.

(Aš esu šio produkto kūrėjas.)

1
16 февр. atsakymą pateikė mhsmith 16 vasaris. 2018-02-16 20:12 '18, 8:12 pm 2018-02-16 20:12

Pažvelkite į „ BeeWare“ . Atsakydamas į šį klausimą, jis vis dar anksti vystosi. Juo siekiama sukurti savo Python programas visoms palaikomoms operacinėms sistemoms, įskaitant „Android“.

0
12 янв. Atsakymas į DrawT dėl sausio 12 d 2018-01-12 21:56 '18, 21:56 2018-01-12 21:56

Galite naudoti SL4A.

Atsisiųsti SL4A

Čia yra pagrindiniai nurodymai, kaip prašyti „Android“.
1. Atsisiųskite programą SL4A, pvz., Sl4a-r6.1.1-arm-debug.apk
2. Atsisiųskite „Py4A“ programą, pvz., „PythonForAndroid-debug.apk“
3. Įrenginio nustatymuose įjunkite „Nežinomi šaltiniai“.

0
08 янв. Atsakymą pateikė Hemant Parmar 08 sausis 2018-01-08 14:02 '18, 14:02 pm 2018-01-08 14:02

Kiti klausimai apie etiketes „ arba „ Klauskite“