android - for - تحميل برنامج بايثون للاندرويد




هل هناك طريقة لتشغيل Python على Android؟ (17)

Kivy

أريد نشر هذا التمديد كإضافة لما أجبنيJohnMudd بالفعل ( ولكن يرجى أن تتحملني حيث أن اللغة الإنجليزية ليست لغتي الأولى )

لقد مرت سنوات منذ ذلك الحين ، وتطورت Kivy إلى v1.9-dev. أكبر نقطة بيع في Kivy ، في رأيي ، هي توافقها عبر المنصة. يمكنك إجراء التعليمات البرمجية والاختبار ضمن البيئة المحلية (Windows / * nix وما إلى ذلك) ، كما يمكنك إنشاء تطبيق وتصحيحه وتعبئته ليعمل على أجهزة Android / iOS / Mac / Windows.

مع لغة KV الخاصة Kivy ، يمكنك التعليمة البرمجية وبناء واجهة المستخدم الرسومية بسهولة (انها فقط مثل Java XML ، ولكن بدلا من TextView ، الخ ، KV لديها ui.widgets الخاصة بها ui.widgets مماثلة) ، والتي هي في رأيي من السهل جدا ل اعتماده.

حاليًا ، Buildozer و python-for-android من الأدوات الأكثر موصى بها لإنشاء / حزم تطبيقاتك. لقد جربتهم على حد سواء ويمكنني القول بثبات إنهم يصنعون تطبيقات أندرويد مع بايثون نسيمًا. يجب أن لا يواجه المستخدمون الذين يشعرون بالراحة في موجه الأوامر / الطرفية / الأوامر أي مشاكل في استخدامها ، كما أن أدلةهم موثقة جيدًا أيضًا.

علاوة على ذلك ، يعتبر نظام iOS نقطة بيع كبيرة أخرى لـ Kivy ، بشرط أن يمكنك استخدام نفس قاعدة الكود مع بعض التغييرات المطلوبة لتشغيل الاختبار على جهاز iOS الخاص بك ، عبر kivy-ios Homebrew ، على الرغم من أن Xcode مطلوب للبناء قبل التشغيل الأجهزة الخاصة بهم (AFAIK محاكاة iOS في Xcode حالياً لا يعمل من أجل بنية هندسة x 86). هناك أيضًا بعض مشكلات التبعية التي يجب تجميعها يدويًا وتجميعها يدويًا في Xcode للحصول على بنية ناجحة ، ولكن لن يكون من الصعب جدًا حلها كما أن الأشخاص في Kivy Google Group مفيدون جدًا أيضًا.

مع كل ما يقال ، يجب على المستخدمين الذين لديهم معرفة بيثون جيدة ألا يواجهوا مشكلة في انتقاء الأساسيات في الأسابيع (إن لم يكن أيامًا) لبناء بعض التطبيقات البسيطة.

وتجدر الإشارة أيضًا إلى أنه يمكنك تجميع (إنشاء وصفات) لوحدات بايثون الخاصة بك مع البنية بحيث يمكن للمستخدمين الاستفادة من العديد من المكتبات الموجودة التي تقدمها بيثون ، مثل Requests و PIL إلخ ، من خلال دعم تمديد Kivy .

في بعض الأحيان يتطلب التطبيق الخاص بك وظيفة خارج نطاق ما يمكن أن تقدمه Kivy. في هذه الحالات ، من الضروري اللجوء إلى مكتبات البرامج الخارجية. نظرًا لثراء نظام بيثون البيئي ، هناك بالفعل الكثير من مكتبات البرامج التي يمكنك استيرادها واستخدامها على الفور.

وأخيرًا وليس آخرًا ، إذا كنت ستستخدم Kivy في مشاريع أكثر جدية / تجارية ، فقد تجد وحدات حالية غير مرضية. هناك بعض الحلول العملية على الرغم من ذلك ، مع "العمل في التقدم" من pyjnius لالروبوت ، و pyobjus . يمكن للمستخدمين الآن الوصول إلى فئات Java / Objective-C من خلال هذه الوحدات للتحكم في بعض واجهات برمجة التطبيقات الأصلية.

تجربتي في Kivy هي أنها ستجد أفضل ما يناسبها مع مبرمجين Python المحنكين وبعض المبرمجين الجادين الذين يرغبون في تطوير سريع أو صيانة بسيطة لقاعدة التعليمات البرمجية. يعمل بشكل جيد على منصات متعددة ، وإن لم يكن حقا مع الشعور الأصلي .

آمل أن يجد بعض المبرمجين في بيثون هذه المعلومات مفيدة وأن يبدأوا في إلقاء نظرة على Kivy. يمكن أن تتحسن فقط (مع المزيد من الدعم وحصول المكتبات / الوحدات) إذا كان هناك اهتمام كبير من المجتمع.

سكرتير خاص ليس لدي أي علاقة مع Kivy على الإطلاق ، أنا مجرد مبرمج الذي يحب حقا فكرة جلب متعة الترميز بايثون لتطوير المحمول / عبر منصة.

https://code.i-harness.com

نحن نعمل على إصدار S60 وهذه المنصة لها واجهة برمجة تطبيقات بايثون.

ومع ذلك ، لا يوجد أي شيء رسمي حول بايثون على Android ، ولكن بما أن Jython موجود ، هل هناك طريقة للسماح للأفاعي والروبوت بالعمل معًا؟


Chaquopy

Chaquopy هو مكون إضافي لنظام البناء القائم على Gradle المستند إلى Android Studio. وهو يركز على التكامل الوثيق مع أدوات تطوير Android القياسية.

  • فهو يوفر واجهات برمجة تطبيقات كاملة لاستدعاء Java من Python أو Python من Java ، مما يتيح للمطوِّر استخدام أي لغة أفضل لكل مكون في تطبيقه.

  • ويمكنه تنزيل حزم PyPI تلقائيًا وإنشاءها في تطبيق ، بما في ذلك الحزم الأصلية المحددة مثل NumPy.

  • وهو يتيح الوصول الكامل إلى جميع واجهات برمجة تطبيقات Android من بايثون ، بما في ذلك مجموعة أدوات واجهة المستخدم الأصلية ( مثل نشاط بيثون النقي ).

هذا منتج تجاري ، ولكنه مجاني للاستخدام مفتوح المصدر وسيظل دائمًا على هذا النحو.

(أنا منشئ هذا المنتج.)


ألقِ نظرة على BeeWare . في لحظة الإجابة على هذا السؤال لا يزال في مرحلة مبكرة من التطور. الهدف هو أن تكون قادرًا على إنشاء تطبيقات محلية مع Python لجميع أنظمة التشغيل المدعومة ، بما في ذلك Android.


أنا استخدم تطبيق QPython. لديها محرر ، وحدة التحكم ، ويمكنك تشغيل برامج بايثون الخاصة بك معها. التطبيق مجاني ، والرابط هو http://qpython.com/ .


باعتباري من محبي Python ومبرمج أندرويد ، أشعر بالحزن لأن أقول إن هذه ليست طريقة جيدة للذهاب. هناك مشكلتان.

تتمثل إحدى المشكلات في أن هناك أكثر بكثير من مجرد لغة برمجة لأدوات تطوير Android. تتضمن الكثير من رسومات Android ملفات XML لتهيئة العرض ، على غرار HTML. تتكامل كائنات جافا المدمجة بالفعل مع تخطيط XML هذا ، وهو أسهل بكثير من كتابة التعليمات البرمجية الخاصة بك للانتقال من المنطق إلى الصورة النقطية.

المشكلة الأخرى هي أن G1 (وربما أجهزة Android الأخرى في المستقبل القريب) ليست بهذه السرعة. 200 ميغاهرتز ، وذاكرة الوصول العشوائي محدودة للغاية. حتى في Java ، عليك القيام بكمية معقولة من إعادة الكتابة إلى تجنب المزيد من الكائنات ، إذا كنت ترغب في جعل تطبيقك سلسًا تمامًا. ستكون بايثون بطيئة جدًا لبعض الوقت على أجهزة الجوال.



طريقة واحدة هي استخدام Kivy :

مكتبة Python مفتوحة المصدر للتطوير السريع للتطبيقات التي تستخدم واجهات مستخدم مبتكرة ، مثل تطبيقات اللمس المتعدد.

يعمل Kivy على Linux و Windows و OS X و Android و iOS. يمكنك تشغيل نفس رمز [بايثون] على جميع الأنظمة الأساسية المدعومة.

تطبيق Kivy Showcase


لقد نشرت تعليمات ورسالة للترجمة المتقاطعة Python 2.7.2 لنظام Android ، يمكنك الحصول عليها في مدونتي هنا: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android/

تحرير: لقد فتحت Ignifuga مصدر ، محرك اللعبة 2D ، انها تستند بيثون / SDL وعبر تجميعات لالروبوت. حتى إذا كنت لا تستخدمها للألعاب ، قد تحصل على أفكار مفيدة من التعليمات البرمجية ومنشئ الأداة المساعدة (المسمى Schafer ، بعد Tim ... تعرف من).


ليس في الوقت الحالي ، وكنت محظوظًا أن تحصل على جايثون للعمل قريبًا. إذا كنت تخطط لبدء التطوير الخاص بك الآن ، فستكون أفضل حالاً بمجرد الإلتزام بجافا حتى الآن.


من github.com/kivy/python-for-android :

Python for android هو مشروع لإنشاء توزيع Python الخاص بك بما في ذلك الوحدات التي تريدها ، وإنشاء ملف apk بما في ذلك python ، libs ، والتطبيق الخاص بك.


هناك أيضًا SL4A مكتوبة بشكل كبير بواسطة موظفي Google.


هناك أيضًا مشروع Android Scripting Environment (ASE / SL4A) الجديد. يبدو رائعًا ، ولديه بعض التكامل مع مكونات Android الأصلية.

ملاحظة: لم تعد تحت "التطوير النشط" ، ولكن بعض الشوك قد تكون.


هناك خيار واحد آخر يبدو أنه pyqtdeploy والذي يشير إلى المستندات هو:

أداة ، بالاقتران مع الأدوات الأخرى المتوفرة مع Qt ، تمكن من نشر تطبيقات PyQt4 و PyQt5 المكتوبة مع Python v2.7 أو Python v3.3 أو أحدث. وهو يدعم النشر في المنصات المكتبية (Linux و Windows و OS X) وعلى المنصات المحمولة (iOS و Android).

وفقًا لتطبيق Deploying PyQt5 على Android عبر pyqtdeploy و Qt5 يتم تطويره بشكل نشط ، على الرغم من صعوبة العثور على أمثلة لتطبيقات Android العاملة أو برنامج تعليمي حول كيفية تجميع جميع المكتبات المطلوبة إلى Android. إنه مشروع مثير للاهتمام أن نأخذ في الاعتبار رغم ذلك!


هناك عدة طرق لاستخدام Python على Android.

BeeWare عبارة عن مجموعة من الأدوات لبناء واجهات المستخدم الأصلية

Chaquopy هو مكون إضافي لنظام البناء القائم على Gradle المستند إلى Android Studio.

Kivy عبارة عن مجموعة أدوات واجهة المستخدم المستندة إلى OpenGL عبر النظام الأساسي.

pyqtdeploy هو أداة لنشر تطبيقات PyQt.

QPython هو مشغل البرامج النصية على الجهاز وبيئة التطوير.

SL4A (Scripting Layer for Android) ، التي تم تسميتها أصلاً ASE (Android Scripting Environment) ، هي عبارة عن مجموعة من "الواجهات" التي تعرض مجموعة فرعية مبسطة جدًا من واجهة برمجة تطبيقات Android.

PySide (ملزمة Python لمجموعة أدوات Qt) على بعض الدعم المبدئي لنظام Android.

على الرغم من أن لغة البرمجة الأساسية في Android هي Java ، فلا يوجد منفذ معروف من Jython إلى النظام الأساسي. يتم تحقيق دعم Android في BeeWare باستخدام VOC ، وهي أداة تجمع شفرة Python المصدر إلى ملفات فئة Java. يسمح هذا بتنفيذ Python كبرنامج ثنائي محلي على JVM. https://wiki.python.org/moin/Android



يمكنك تشغيل شفرة Python باستخدام sl4a . يدعم sl4a Python و Perl و JRuby و Lua و BeanShell و JavaScript و Tcl و script.

يمكنك أن تتعلم الأمثلة على b4thon.


"إن Pygame Subset for Android عبارة عن منفذ لمجموعة فرعية من وظائف Pygame إلى نظام Android الأساسي. الهدف من المشروع هو السماح بإنشاء ألعاب خاصة بنظام Android ، وتسهيل نقل الألعاب من المنصات الشبيهة بالكمبيوتر إلى Android ".

تتضمن الأمثلة لعبة كاملة مجمعة في ملف APK ، وهو أمر مثير للاهتمام.





android-scripting