क्या एंड्रॉइड पर पायथन चलाने का एक तरीका है?


2093

हम एक S60 संस्करण पर काम कर रहे हैं और इस प्लेटफ़ॉर्म में एक अच्छा पायथन एपीआई है।

हालाँकि, एंड्रॉइड पर पाइथन के बारे में कुछ भी आधिकारिक नहीं है, लेकिन जब से जेथोन मौजूद है, क्या सांप और रोबोट को एक साथ काम करने का एक तरीका है ??

जवाबों:


1059

किवी का उपयोग करने का एक तरीका है :

मल्टी-टच एप्लिकेशन जैसे अभिनव उपयोगकर्ता इंटरफ़ेस का उपयोग करने वाले अनुप्रयोगों के तेजी से विकास के लिए ओपन सोर्स पायथन लाइब्रेरी।

किवी लिनक्स, विंडोज, ओएस एक्स, एंड्रॉइड और आईओएस पर चलता है। आप सभी समर्थित प्लेटफ़ॉर्म पर समान [अजगर] कोड चला सकते हैं।

किवी शोकेस ऐप


63
यदि आप कीवी का उपयोग करते हैं, तो यहां आपके प्रोजेक्ट को एक
एपीके

17
मैं Kivy के साथ इस सप्ताह के आसपास खेल खेलने की कोशिश कर रहा हूँ। उनके मुख्य डेवलपर्स आईआरसी पर सवालों के जवाब देने में बहुत तेज थे, लेकिन अगर आपने किवी से पहले एक जीयूआई प्रोग्राम किया है, तो आप कहेंगे डब्ल्यूटीएफ काफी कम है। अनिर्दिष्ट चीजों के कुछ उदाहरण जो मेरे लिए अजीब थे: सभी विजेट्स को प्रत्येक on_touch_down ईवेंट मिलता है, भले ही घटना उनके क्षेत्र के बाहर हुई हो, कोई भी विजेट ड्रॉ () विधि नहीं है, लगभग सब कुछ कस्टम ऑब्जर्वर पैटर्न के माध्यम से होता है, जो उनके द्वारा बनाए गए गुणों पर आधारित होते हैं ( ध्यान दें कि पायथन की संपत्ति के साथ नाम साझा करें, लेकिन समान नहीं हैं)
ट्रे स्टाउट

7
@ ट्रे: गैर-जीयूआई से संबंधित चीजों के बारे में क्या? क्या पायथन के मॉड्यूल के उपयोग के बारे में कोई सीमाएं हैं? एंड्रॉइड-विशिष्ट सुविधाओं तक पहुंच के बारे में क्या है, जैसे संदेश पढ़ने की क्षमता, अधिसूचना जोड़ना, पृष्ठभूमि में काम करना, फोटो बनाना, संपर्क सूची पढ़ना, जीपीएस स्थान निर्धारित करना आदि?
टाडेक

7
और अब iOS सपोर्ट भी है!
रुबिक

16
अब, लगभग पूरे एक साल बाद, क्या कोई बेहतर समर्थन है? क्या यहां कोई उल्लेखनीय सुधार हुआ है?
टैंकरस्मैश

346

नया एंड्रॉइड स्क्रिप्टिंग एनवायरनमेंट (ASE / SL4A) प्रोजेक्ट भी है। यह भयानक लग रहा है, और इसमें देशी एंड्रॉइड घटकों के साथ कुछ एकीकरण है।

नोट: "सक्रिय विकास" के तहत नहीं, लेकिन कुछ कांटे हो सकते हैं।


70
यह सच है, लेकिन उन्हें एएसई स्थापित करना होगा, यह एक समाधान नहीं है जो आपको पहले से इंस्टॉल किए बिना अजगर में एक एंड्रॉइड ऐप लिखने की सुविधा देता है (सामान्य उपयोगकर्ता सभी होगा "wtf यह एएसई बात है?)
स्टुअर्ट एक्सॉन

20
इसके अलावा, एएसई एक प्रतिबंधित वातावरण है; ASE पहले से इंस्टॉल होने पर भी आप पूर्ण-विकसित Android ऐप्स नहीं लिख सकते। देखें stackoverflow.com/questions/2076381
श्रीधर रत्नाकुमार

10
मुझे लगता है कि इसका नाम बदलकर SL4A कर दिया गया।
वानुआन

9
आप ऐप्स लिख सकते हैं, उन्हें पैकेज कर सकते हैं और यहां तक ​​कि अगर आप चाहें तो उन्हें प्ले स्टोर पर बेच भी सकते हैं, जो अब SL4A के साथ हैं। यह अच्छी तरह से आया है जब से ऊपर टिप्पणी पोस्ट की गई थी। यदि आप एंड्रॉइड पर पायथन चाहते हैं, तो पीवाई 4 ए, जो एसएल 4 ए पर चलता है, शायद सबसे अच्छा विकल्प है।
कार्ल स्मिथ

2
मैं पुष्टि करता हूं, SL4A अब उपयोग करने के लिए तैयार एप्लिकेशन के पैकेज लिखने की अनुमति देता है, मैंने पर्ल के साथ यह काम करने की कोशिश की
ubugnu

216

हाँ! : Android स्क्रिप्टिंग पर्यावरण

SL4A के माध्यम से मैट कट्स के माध्यम से एक उदाहरण - "यहां एक बारकोड स्कैनर है जिसे पायथन कोड की छह लाइनों में लिखा गया है:

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)

46
एस / हाँ / हुंह। शायद / ... यह बेहद सीमित है। कुछ भी चित्रमय या बहु स्पर्श? एक बड़ा नहीं।
gcb

2
@ जीसीबी आप सामान्य एंड्रॉइड विजेट सेट का उपयोग नहीं कर सकते हैं, लेकिन आप "वेबवार्ता" का उपयोग कर सकते हैं (जो कि मूल जीमेल एप्लिकेशन का उपयोग करता है, उदाहरण के लिए)।
gdw2

28
गोल्फ: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']))
एलेक्स एल

12
@ gdw2, निश्चित रूप से देशी जीमेल ऐप केवल ईमेल को पार्स करने के लिए उपयोग करता है, हालांकि वास्तविक यूआई के लिए नहीं। यह तुलना को थोड़ा बेतुका बनाता है।
वेसलिन रोमि जूल

88

Android के लिए Pygame सबसेट

Pygame Python (डेस्कटॉप पर) के लिए एक 2D गेम इंजन है जो नए प्रोग्रामर्स के साथ लोकप्रिय है। Android के लिए pygame सबसेट के रूप में वर्णन ...

... Android प्लेटफ़ॉर्म पर Pygame कार्यक्षमता का सबसेट का एक पोर्ट। परियोजना का लक्ष्य एंड्रॉइड-विशिष्ट गेम के निर्माण की अनुमति देना है, और पीसी जैसे प्लेटफॉर्म से एंड्रॉइड तक गेम की पोर्टिंग को कम करना है।

उदाहरणों में एक एपीके के रूप में पैक किया गया एक पूरा गेम शामिल है, जो काफी दिलचस्प है।


4
मेरे Droid X (बटन, या टचस्क्रीन, याद नहीं कर सकते) पर कई पहलू टूट गए, इसलिए मैं इस मार्ग से बहुत दूर नहीं गया।
gdw2

78

क्रॉस-संकलन और इग्निफ्यूगा

मेरे ब्लॉग में एंड्रॉइड के लिए पायथन 2.7.2 को पार करने के लिए निर्देश और एक पैच है।

मैंने अपने 2 डी गेम इंजन इग्निफ्यूगा को भी खोला है । यह पायथन / एसडीएल आधारित है, और यह एंड्रॉइड के लिए क्रॉस संकलन करता है। यहां तक ​​कि अगर आप इसे गेम के लिए उपयोग नहीं करते हैं, तो आपको कोड या बिल्डर उपयोगिता ( टिमर के बाद का नाम Schafer , ... आपको पता है) से उपयोगी विचार मिल सकते हैं ।


4
प्रभावशाली। इसके लिए +1। स्वीकार नहीं किया जाता क्योंकि आप संभवतः इसके साथ जनता के लिए कुछ भी नहीं लिख सकते।
ई-सतीस

1
यदि आपका मतलब है कि आप इसके साथ ग्राफिक ऐप नहीं कर सकते हैं, तो आप निश्चित रूप से सबसे अधिक काम कर सकते हैं। मैं वास्तव में एसडीएल 1.3 के साथ संयुक्त इस बंदरगाह का उपयोग करता हूं, यह एक इंटरएक्टिव ऐप के लिए अजगर दुभाषिया से जाने के लिए तुच्छ नहीं है, लेकिन यह किया जा सकता है।
गाबोमडाक

77

Android के लिए स्क्रिप्टिंग लेयर

SL4A वही करता है जो आप चाहते हैं। आप इसे आसानी से अपनी डिवाइस पर सीधे उनकी साइट से स्थापित कर सकते हैं, और रूट की आवश्यकता नहीं है।

यह कई भाषाओं का समर्थन करता है। पायथन सबसे परिपक्व है। डिफ़ॉल्ट रूप से, यह पायथन 2.6 का उपयोग करता है, लेकिन एक 3.2 पोर्ट है जिसे आप इसके बजाय उपयोग कर सकते हैं। मैंने गैलेक्सी S2 पर सभी तरह की चीजों के लिए उस पोर्ट का उपयोग किया है और यह ठीक काम किया है।

एपीआई

SL4A androidप्रत्येक समर्थित भाषा के लिए अपने पुस्तकालय का एक बंदरगाह प्रदान करता है । पुस्तकालय एक Androidवस्तु के माध्यम से अंतर्निहित एंड्रॉइड एपीआई के लिए एक इंटरफ़ेस प्रदान करता है ।

from android import Android

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

प्रत्येक भाषा में बहुत अधिक समान एपीआई है। आप वेबवार्ता के अंदर जावास्क्रिप्ट एपीआई का उपयोग भी कर सकते हैं।

let droid = new Android();
droid.ttsSpeak("hello from js");

उपयोगकर्ता इंटरफेस

उपयोगकर्ता इंटरफ़ेस के लिए, आपके पास तीन विकल्प हैं:

  • आप एपीआई के माध्यम से जेनेरिक, देशी संवादों और मेनू का आसानी से उपयोग कर सकते हैं। यह पुष्टि संवाद और अन्य मूल उपयोगकर्ता इनपुट के लिए अच्छा है।
  • आप पायथन स्क्रिप्ट के अंदर से एक वेबव्यू भी खोल सकते हैं, फिर यूजर इंटरफेस के लिए एचटीएमएल 5 का उपयोग कर सकते हैं। जब आप पाइथन से वेबव्यू का उपयोग करते हैं, तो आप वेबव्यू और पाइथन प्रक्रिया के बीच संदेशों को आगे-पीछे कर सकते हैं, जो इसे स्पॉन करते हैं। यूआई देशी नहीं होगा, लेकिन यह अभी भी एक अच्छा विकल्प है।
  • नहीं है कुछ देशी Android यूजर इंटरफेस के लिए समर्थन है, लेकिन मुझे यकीन है कि यह कैसे अच्छी तरह से काम नहीं कर रहा हूँ; मैंने अभी इसका उपयोग नहीं किया है।

आप विकल्पों को मिला सकते हैं, इसलिए आपके पास मुख्य इंटरफ़ेस के लिए एक वेबव्यू हो सकता है, और अभी भी देशी संवादों का उपयोग कर सकते हैं।

QPython

QPython नाम का एक थर्ड पार्टी प्रोजेक्ट है । यह SL4A पर बनाता है, और कुछ अन्य उपयोगी सामान में फेंकता है।

QPython आपको अपनी स्थापना का प्रबंधन करने के लिए एक अच्छे UI देता है, और इसमें पैकेज प्रबंधन के लिए एक छोटा, टचस्क्रीन कोड एडिटर, पायथन शेल और एक PIP शेल शामिल होता है। उनके पास पायथन 3 पोर्ट भी है। दोनों संस्करण मुफ्त में प्ले स्टोर से उपलब्ध हैं। QPython भी Kivy सहित एंड्रॉइड प्रोजेक्ट्स पर पायथन के झुंड से पुस्तकालयों को बंडल करता है, इसलिए यह सिर्फ SL4A नहीं है।

ध्यान दें कि QPython अभी भी SL4A के अपने कांटे विकसित करता है (हालांकि, ईमानदार होने के लिए बहुत ज्यादा नहीं)। मुख्य SL4A परियोजना अपने आप में बहुत अधिक मृत है।

उपयोगी कड़ियाँ


1
क्या आप टर्मिनल या टास्कर से अजगर स्क्रिप्ट चलाने के लिए उनमें से किसी का उपयोग कर सकते हैं? मुझे कोई रास्ता नहीं मिल रहा है :(
Pitto

1
आप टास्कर से एक SL4A स्क्रिप्ट लॉन्च कर सकते हैं। इस पृष्ठ पर कुछ उदाहरण हैं जिनमें टास्कर से पायथन के स्निपेट लॉन्च किए जा रहे हैं। यह वास्तव में एक अलग सवाल है।
कार्ल स्मिथ

77

एक के रूप में अजगर प्रेमी और एंड्रॉयड प्रोग्रामर, मैं कहना है कि यह एक अच्छा रास्ता तय करना नहीं है उदास हूँ। दो समस्याएं हैं:

एक समस्या यह है कि एंड्रॉइड डेवलपमेंट टूल्स के लिए सिर्फ प्रोग्रामिंग भाषा की तुलना में बहुत अधिक है। बहुत सारे एंड्रॉइड ग्राफिक्स HTML के समान डिस्प्ले को कॉन्फ़िगर करने के लिए एक्सएमएल फाइलें शामिल करते हैं। बिल्ट-इन जावा ऑब्जेक्ट्स इस XML लेआउट के साथ एकीकृत हैं, और यह तर्क से बिटमैप पर जाने के लिए आपके कोड को लिखने से बहुत आसान है।

दूसरी समस्या यह है कि जी 1 (और निकट भविष्य के लिए शायद अन्य एंड्रॉइड डिवाइस) इतनी तेज़ नहीं हैं। 200 MHz प्रोसेसर और RAM बहुत सीमित है। जावा में भी, यदि आपको अपने ऐप को सुचारू बनाना है, तो आपको पुनर्लेखन-से-बचने-अधिक-ऑब्जेक्ट-निर्माण के लिए एक अच्छी मात्रा में करना होगा। मोबाइल उपकरणों पर अभी भी थोड़ी देर के लिए अजगर बहुत धीमा होने वाला है।


48
एंड्रॉइड फोन पर एक भी जावा शब्द नहीं है, यह पैकेजिंग प्रक्रिया के दौरान बाइट कोड के लिए संकलित है। गति कोई समस्या नहीं है: Google एक अजगर कोड (जैसे कि ज्यॉन) से सही बाइट कोड बनाने वाले उपकरण प्रदान कर सकता है। BTW, Dalvik Java VM नहीं है इसलिए यह Java VS पायथन के बारे में नहीं है।
ई-सतीस

6
JAVA bytecode को अभी भी एक JVM द्वारा संसाधित करने की आवश्यकता है, और जावा भाषा को वैसे भी कचरा संग्रहकर्ता की आवश्यकता होती है। वास्तविक गति केवल C ++ से आ सकती है।
लेटवॉर्फ़

19
@ अधिक 2 साल बाद, हम अब इंटेल एटम प्रोसेसर या ऑक्टा-कोर प्रोसेसर चला रहे हैं। ;)
रोहन कंडवाल

2
वे आकर्षित करने में सक्षम शक्ति में अंतर के कारण, फोन हमेशा डेस्कटॉप की तुलना में परिमाण धीमी करने का एक क्रम होगा। हालाँकि, मोबाइल डिवाइस के लिए पायथन को छोड़ना नहीं चाहिए, क्योंकि आमतौर पर प्रोसेसर के गहन कार्य के लिए केवल कोड का एक अंश जिम्मेदार होता है, और इस अंश को दूसरी भाषा में लिखकर अनुकूलित किया जा सकता है।
इवगेनी सर्गेव

2
वैसे Google इन दिनों कोटलिन को धक्का देता है - जो कि अधिकांश उपयोगकर्ताओं के लिए एक बहुत ही अज्ञात भाषा है - यह स्पष्ट है कि जावा (मैं एक जावा देव और पायथन प्रशंसक हूं) की तुलना में अन्य भाषाओं का समर्थन करना संभव है। इसलिए मुझे लगता है कि उत्तर व्यावहारिक नहीं बल्कि राजनीतिक है।
एलेक्स

49

Kivy

मैं जोड़ना चाहता था कि @JohnMudd ने Kivy के बारे में क्या लिखा है। इस स्थिति का वर्णन किए हुए कई साल हो गए हैं, और कीवी काफी विकसित हुई है।

मेरी राय में, किवी का सबसे बड़ा विक्रय बिंदु इसकी क्रॉस-प्लेटफॉर्म संगतता है। आप किसी भी डेस्कटॉप वातावरण (विंडोज / * निक्स इत्यादि) का उपयोग करके सब कुछ कोड और परीक्षण कर सकते हैं, फिर अपने ऐप को विभिन्न प्लेटफार्मों की एक श्रृंखला के लिए पैकेज कर सकते हैं, जिसमें एंड्रॉइड, आईओएस, मैकओएस और विंडोज शामिल हैं (हालांकि ऐप में अक्सर देशी लुक और महसूस की कमी होती है)।

किवी की अपनी KV भाषा के साथ, आप GUI इंटरफ़ेस को आसानी से कोड कर सकते हैं और उसका निर्माण कर सकते हैं (यह सिर्फ Java XML की तरह है, लेकिन TextView आदि के बजाय, KV का ui.widgetsसमान अनुवाद के लिए अपना स्वयं का है ), जो कि मेरी राय में इसे अपनाना काफी आसान है।

वर्तमान में Buildozer और python-for-android आपके एप्लिकेशन बनाने और पैकेज करने के लिए सबसे अनुशंसित उपकरण हैं। मैंने उन दोनों की कोशिश की है और दृढ़ता से कह सकता हूं कि वे पायथन के साथ एंड्रॉइड ऐप का निर्माण कर रहे हैं। उनके गाइड अच्छी तरह से प्रलेखित हैं।

iOS किवी का एक और बड़ा विक्रय बिंदु है। आप किवी-आईओएस होमब्रेव टूल्स के माध्यम से आवश्यक कुछ परिवर्तनों के साथ एक ही कोड बेस का उपयोग कर सकते हैं , हालांकि उनके डिवाइस पर चलने से पहले Xcode की आवश्यकता होती है, (AFAIK iOS सिम्युलेटर इन Xcode वर्तमान में x86- आर्किटेक्चर बिल्ड के लिए काम नहीं करता है । कुछ निर्भरता के मुद्दे भी हैं जिन्हें मैन्युअल रूप से संकलित किया जाना चाहिए और एक सफल बिल्ड होने के लिए Xcode में चारों ओर फिड किया जाना चाहिए, लेकिन उन्हें हल करना बहुत मुश्किल नहीं होगा और किवी Google समूह के लोग वास्तव में बहुत उपयोगी हैं।

कहा जा रहा है कि सभी के साथ, अच्छे पायथन ज्ञान वाले उपयोगकर्ताओं को मूल बातें जल्दी लेने में कोई समस्या नहीं होनी चाहिए।

यदि आप अधिक गंभीर परियोजनाओं के लिए कीवी का उपयोग कर रहे हैं, तो आपको मौजूदा मॉड्यूल असंतोषजनक लग सकते हैं। हालांकि कुछ व्यावहारिक समाधान हैं। एंड्रॉइड के लिए पायजनीस और पाइबोजस में काम (प्रगति में काम) के साथ , अब उपयोगकर्ता कुछ मूल एपीआई को नियंत्रित करने के लिए जावा / ऑब्जेक्टिव-सी कक्षाओं का उपयोग कर सकते हैं।


मैंने सिर्फ Kivy को अपनी साइट से डाउनलोड किया है। पायथन 3.4 32 और 64-बिट के लिए समर्थन दिखाता है, और स्पर्श इनपुट का एक डेमो काम कर रहा है।
कोडरिव्यू

1
@codeReview, मैं केवल Python2 के साथ Kivy का उपयोग कर रहा हूं और Python3 के साथ इसमें कोई अनुभव नहीं है, क्या सब कुछ सुचारू रूप से चल रहा है?
अंजेल

मैं आपको उम्मीद है कि जल्द ही पता चल जाएगा। लेकिन मुझे सीपीथॉन 3.4 कमांड शेल के बाहर पायथन के साथ कोई अनुभव नहीं है। जल्दी से कम्प्यूटेशन या एल्गोरिदम समस्याओं को हल करने के लिए .py फाइलें। यह GUI वाला मेरा पहला ऐप होगा। मुझे कीवी भाषा को समझने के लिए और इंस्टॉलेशन चरणों का सावधानीपूर्वक पालन करने के लिए, अधिक प्रलेखन पढ़ने की आवश्यकता होगी, इसलिए मुझे पता है कि किवी को मेरी पसंद की पायथन आईडीई कैसे स्थापित करें और एंड्रॉइड पर पुश करने के लिए एपीके की पैकेजिंग करें। यह कई चरणों वाली प्रक्रिया है, इसलिए जब मैं कह सकता हूं तो यह जल्द ही अविश्वसनीय नहीं होगा।
कोडरव्यू

1
@codeReview, आपकी यात्रा के लिए शुभकामनाएँ। यदि यह आपका पहला ऐप है, तो मैं दृढ़ता से लेआउट फ़ाइल के रूप में .kv का उपयोग करने की सलाह देता हूं । यह लेआउट विजेट्स को परिभाषित करने के लिए याम्ल या बस ट्री फाइल की तरह है। यदि आपका ऐप मल्टी-स्क्रीन / लेआउट है, तो इसका उपयोग करें ScreenManagerक्योंकि इससे आपका समय बचेगा। इसके अलावा सलाह का एक टुकड़ा उनकी मेलिंग सूची को पढ़ने के लिए है, वहां के जानकार लोगों का एक समूह आपकी मदद करने के लिए तैयार है।
ऐंजल

1
@codeReview भी, किवी के डेमो ऐप से सीखने के बजाय, आप कुछ मौजूदा किवी ऐप की खोज में अधिक अंतर्दृष्टि प्राप्त कर सकते हैं और देखें कि लोग "विजेट" और कॉलबैक को वास्तविक दुनिया के परिदृश्य में कैसे प्रबंधित करते हैं। Kivy सब पर जानने के लिए कठिन नहीं है, मैं कहता हूँ की तुलना में वक्र सीखने, जावा + Android या उद्देश्य-सी + आईओएस में के संदर्भ में बहुत आसान कहूँगा
Anzel

40

Termux

पाइथन को स्थापित करने के लिए, आप एंड्रॉइड के लिए एक POSIX वातावरण प्रदान करने वाले टर्मक्स ऐप का उपयोग कर सकते हैं ।

ध्यान दें कि apt install pythonटर्मक्स पर पायथन 3 स्थापित होगा। Python2 के लिए, आपको उपयोग करने की आवश्यकता है apt install python2


5
टर्मक्स के लिए +1। में काम करने के लिए बिल्कुल अद्भुत वातावरण। रेपो में शानदार पैकेज चयन, आसान वॉल्यूम बटन शॉर्टकट। यह मैंने कभी पाया है एक फोन पर डेबियन के लिए निकटतम बात है।
जेम्स

39

फिलहाल नहीं और आप जल्द ही काम करने के लिए जाइथन को पाकर खुशकिस्मत होंगे। यदि आप अपना विकास शुरू करने की योजना बना रहे हैं, तो आप अभी के लिए जावा से चिपके रहने से बेहतर होंगे।


39

SL4A (जो पहले से ही अन्य उत्तरों में स्वयं द्वारा उल्लिखित है) का उपयोग करके आप एक पूर्ण विकसित web2py उदाहरण चला सकते हैं (अन्य अजगर वेब चौखटे संभावित उम्मीदवार भी हैं)। SL4A आपको देशी UI घटक (बटन, स्क्रॉल बार और इसी तरह) करने की अनुमति नहीं देता है, लेकिन यह WebViews का समर्थन करता है । एक WebView मूल रूप से एक निर्धारित पते पर बताई गई वेब ब्राउजर से ज्यादा कुछ नहीं है। मेरा मानना ​​है कि मूल जीमेल ऐप नियमित विजेट मार्ग पर जाने के बजाय एक वेब व्यू का उपयोग करता है।

इस मार्ग में कुछ दिलचस्प विशेषताएं होंगी:

  • अधिकांश अजगर वेब चौखटे के मामले में, आप वास्तव में एंड्रॉइड डिवाइस या एंड्रॉइड एमुलेटर का उपयोग किए बिना विकसित और परीक्षण कर सकते हैं।
  • जो भी पायथन कोड आप फोन के लिए लिख रहे हैं, उसे बहुत कम (यदि कोई हो) संशोधन के साथ जनता के वेबसर्वर पर भी रखा जा सकता है।
  • आप सभी पागल वेब सामग्री का लाभ उठा सकते हैं: क्वेरी, एचटीएमएल 5, सीएसएस 3, आदि।

2
Cherrypy ws4py वेबस्कैट समर्थन के साथ अच्छी तरह से काम करता है। SL4A पर बोतल भी ठीक है।
कार्ल स्मिथ

33

QPython

मैं QPython ऐप का उपयोग करता हूं । यह मुफ़्त है और इसमें एक कोड संपादक, एक इंटरएक्टिव इंटरप्रेटर और एक पैकेज मैनेजर शामिल है, जो आपको अपने डिवाइस पर सीधे पायथन प्रोग्राम बनाने और निष्पादित करने की अनुमति देता है।


2
अब qpython ने Django का समर्थन जोड़ा! मुझे बस इतना ही चाहिए! गजब का!
स्वदेव

27

Android साइट के लिए पायथन से :

एंड्रॉइड के लिए पायथन एक प्रोजेक्ट है जो आप चाहते हैं कि मॉड्यूल सहित अपना खुद का पायथन वितरण बनाएं, और अजगर, लिबास और आपके एप्लिकेशन सहित एक एपीके बनाएं।


1
@ ई-सतीस: आपकी टिप्पणी के लिए धन्यवाद। मुझे नहीं लगता कि मैं कौन सा उत्तर दोहरा रहा हूं। मैं केवल अनुमान लगा सकता हूं कि आपको लगता है कि पीएफए ​​किवी के समान है। यद्यपि यह कीवी परियोजना के तहत होस्ट किया गया है, आपको पीएफए ​​का उपयोग करने के लिए किवी का उपयोग करने की आवश्यकता नहीं है।
gdw2

PFA के निचले बिंदु पर @ टिटो के हटाए गए उत्तर की जांच करें। इसके अलावा, किवी के बिना पीएफए ​​चलाने में थोड़ी दिलचस्पी है क्योंकि यह एकमात्र टूलकिट है जो आपको मिला है।
ई-सतीस

ऐसा नहीं है क्योंकि कीवी वर्तमान में केवल टूलकिट उपलब्ध है (कुछ लोग दूसरों को पहचानने के लिए काम कर रहे हैं) यह एक डुप्लिकेट की तुलना में है। कृपया अन्य विकल्पों पर विचार करें, और सभी को एक पोस्ट में मर्ज न करें: |
टाइटो

21

Chaquopy

Chaquopy एंड्रॉइड स्टूडियो के ग्रैडल-आधारित बिल्ड सिस्टम के लिए एक प्लगइन है। यह मानक Android विकास उपकरणों के साथ घनिष्ठ एकीकरण पर केंद्रित है ।

  • यह जावा से अजगर या पायथन से जावा को कॉल करने के लिए पूर्ण एपीआई प्रदान करता है , जिससे डेवलपर को अपने ऐप के प्रत्येक घटक के लिए जो भी सबसे अच्छी भाषा का उपयोग करने की अनुमति मिलती है।

  • यह स्वचालित रूप से PyPI पैकेजों को डाउनलोड कर सकता है और उन्हें एक ऐप में बना सकता है, जिसमें चयनित देशी पैकेज जैसे कि NumPy भी शामिल है।

  • यह देशी उपयोगकर्ता इंटरफ़ेस टूलकिट ( उदाहरण-शुद्ध पायथन गतिविधि ) सहित पायथन से सभी एंड्रॉइड एपीआई तक पूर्ण पहुंच सक्षम करता है ।

यह एक वाणिज्यिक उत्पाद है, लेकिन यह ओपन-सोर्स उपयोग के लिए स्वतंत्र है और हमेशा इस तरह रहेगा।

(मैं इस उत्पाद का निर्माता हूं।)



20

यहाँ कुछ उपकरण आधिकारिक अजगर वेबसाइट में सूचीबद्ध हैं


Playstore में QPython3 नाम का एक ऐप है जो कि पाइथन स्क्रिप्ट को एडिट करने और चलाने दोनों के लिए इस्तेमाल किया जा सकता है।

प्लेस्टोर लिंक


एक अन्य ऐप जिसे टर्मक्स कहा जाता है जिसमें आप कमांड का उपयोग करके अजगर को स्थापित कर सकते हैं

pkg install python

प्लेस्टोर लिंक


यदि आप ऐप्स विकसित करना चाहते हैं, तो पायथन एंड्रॉइड स्क्रिप्टिंग लेयर ( 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.


आप एंड्रॉइड के लिए PySide भी जांच सकते हैं , जो वास्तव में Qt 4 के लिए पायथन बाइंडिंग है।


PyMob नाम का एक प्लेटफ़ॉर्म है, जहाँ ऐप को पूरी तरह से Python में लिखा जा सकता है और कंपाइलर टूल-फ़्लो (PyMob) उन्हें विभिन्न प्लेटफार्मों के लिए मूल स्रोत कोड में परिवर्तित करता है।


इसके अलावा अजगर के लिए 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.


Android के लिए Chaquopy एक पायथन एसडीके का प्रयास करें


अंडडड ... बीवर

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.


2
टर्मक्स का उपयोग करके आप अजगर 2 को स्थापित कर सकते हैं और साथ ही $ apt स्थापित
python2

16

आप अपने Python कोड को sl4a का उपयोग करके चला सकते हैं । sl4a Python, Perl , JRuby , Lua , BeanShell, JavaScript, Tcl और शेल स्क्रिप्ट का समर्थन करता है।

आप sl4a पायथन उदाहरण सीख सकते हैं ।


13

आप QPython का उपयोग कर सकते हैं :

इसमें पाइथन कंसोल, एडिटर, साथ ही पैकेज मैनेजमेंट / इंस्टॉलर हैं

http://qpython.com/

यह पायथन 2 और पायथन 3 कार्यान्वयन के साथ एक ओपन सोर्स प्रोजेक्ट है। आप स्रोत और Android .apk फ़ाइलों को सीधे जीथब से डाउनलोड कर सकते हैं।

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

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


12

एक अन्य विकल्प यदि आप 3.4.2 या 3.5.1 की तलाश में हैं तो यह GitHub पर संग्रह है।

पायथन 3-एंड्रॉइड 3.4.2 या पायथन 3-एंड्रॉइड 3.5.1

यह वर्तमान में पायथन 3.4.2 या 3.5.1 और NDK के 10d संस्करण का समर्थन करता है। यह 3.3 और 9c, 11c और 12 को भी सपोर्ट कर सकता है

यह अच्छा है कि आप इसे डाउनलोड करें, रन बनाएं और आपको .so या .A मिल जाए

मैं वर्तमान में Android उपकरणों पर कच्चे पायथन को चलाने के लिए इसका उपयोग करता हूं। बिल्ड फ़ाइलों के लिए कुछ संशोधनों के साथ आप x86 और armeabi 64 बिट भी बना सकते हैं


11

यहाँ इस पोस्ट को नहीं देखा, लेकिन आप इसे Pyside और Qt के साथ कर सकते हैं क्योंकि Qt एंड्रॉइड पर Noubitas के लिए काम करता है।

यह इस समय काफी कीचड़ लगता है लेकिन अंततः एक व्यवहार्य मार्ग हो सकता है ...

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


9

एक और विकल्प pyqtdeploy लगता है जो डॉक्स का हवाला देता है:

एक उपकरण जो Qt के साथ प्रदान किए गए अन्य उपकरणों के साथ संयोजन में, Pytht4 और PyQt5 अनुप्रयोगों को Python v2.7 या Python v3.3 या बाद के साथ लिखा जाता है। यह डेस्कटॉप प्लेटफार्मों (लिनक्स, विंडोज और ओएस एक्स) और मोबाइल प्लेटफार्मों (आईओएस और एंड्रॉइड) पर तैनाती का समर्थन करता है।

PyQt5 एप्लिकेशन को Android पर pyqtdeploy और Qt5 के माध्यम से नियुक्त करने के अनुसार इसे सक्रिय रूप से विकसित किया गया है, हालांकि एंड्रॉइड के सभी आवश्यक पुस्तकालयों को क्रॉस-कंपाइल करने के तरीके पर काम करने वाले एंड्रॉइड ऐप या ट्यूटोरियल के उदाहरणों को खोजना मुश्किल है। हालांकि यह ध्यान में रखना एक दिलचस्प परियोजना है!


6

BeeWare पर एक नज़र डालें । इस प्रश्न का उत्तर देने के समय यह अभी भी शुरुआती विकास में है। इसका उद्देश्य एंड्रॉइड सहित सभी समर्थित ऑपरेटिंग सिस्टम के लिए पायथन के साथ मूल एप्लिकेशन बनाने में सक्षम होना है।


क्या फर्क पड़ता है किवी कीवी? यह स्थिर पोर्टेबल अजगर गुई आधारित है
Carsten Thielepape

5

एनामल-मूल की जांच करें जो प्रतिक्रिया-मूल अवधारणा लेता है और इसे अजगर पर लागू करता है।

यह उपयोगकर्ताओं को देशी एंड्रॉइड विजेट के साथ ऐप बनाने देता है और अजगर से एंड्रॉइड और जावा लाइब्रेरी का उपयोग करने के लिए एपीआई प्रदान करता है।

यह एंड्रॉइड-स्टूडियो के साथ भी जुड़ता है और कुछ रिएक्शन के अच्छे देव फीचर्स को कोड रीलोडिंग और रिमोट डीबगिंग के साथ साझा करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.