Android — Python for android


Содержание

Python For Android

Описание для Python For Andro >———————————-
PYTHON 2.6 ��
————————————

Intelligent Python 2.6 IDE with syntax recognition and auto text formatting and more awesome feature from iLabs corporation.

A full offline python 2.6 IDE, Providing syntax recognition and auto formatting text with other incredible feature to make our customer happy. We have not implemented all the available python Modules, but you can expect more in upcoming releases.

Note: Please don’t give us negative rating for unavailable modules,You can expect these in upcoming releases.

Leave us a mail for your complaints , suggestions and issues @ support@ilabbs.com. We are happy to get back you.

✔ Run Python Offline
✔ Syntax Recognition
✔ Auto Text Format
✔ Open Files
✔ Save Files
✔ Sample Programs

★ Sample Programs Include ★

• Python Basics
• Data Types
• Control Structures
• Functions and Modules
• Functional Programming
• Object-Oriented Programming

Python для Android: Как начать делать кроссплатформенные приложения с Kivy. Часть вторая

Приложение Kivy представляет из себя простой файл Python, который содержит код Kivy. Файл в нашем приложении будет называться « main.py». Причина в том, что при создании мобильного приложения должен быть файл с именем « main.py», который является входом приложения. В приложении, которое будет создано, будет три виджета Kivy, которые представляют собой ввод текста (text input), ярлык (label) и кнопку (button). Эти виджеты располагаются вертикально в окне при использовании коробочной схемы расположения инструментов. Они появятся в соответствии с тем порядком, в котором были добавлены в коробочную схему расположения. Другими словами, текстовый ввод будет первым виджетом, ярлык вторым и кнопка в самом низу. Когда кнопка нажата, текст, введенный в текстовый ввод, будет отображаться в ярлыке. Вот код Kivy этого приложения.

  1. import kivy.uix.boxlayout
  2. import kivy.uix.textinput
  3. import kivy.uix.label
  4. import kivy.uix.button
  5. >def build(self):
  6. self.textInput = kivy.uix.textinput.TextInput()
  7. self.label = kivy.uix.label.Label(text=”Your Message.”)
  8. self.button = kivy.uix.button.Button(text=”Click Me.”)
  9. self.button.bind(on_press=self.displayMessage)
  10. self.boxLayout = kivy.uix.boxlayout.BoxLayout(orientation=”vertical”)
  11. self.boxLayout.add_w >return self.boxLayout
  12. def displayMessage(self, btn):
  13. self.label.text = self.textInput.text
  14. if __name__ == “__main__”:
  15. simpleApp = SimpleApp()
  16. simpleApp.run()

Метод сборки — это то, что вызывается после запуска приложения, и, таким образом, оно используется для инициализации окна графического интерфейса Kivy. Три виджета создаются, а затем добавляются в макет окна. Метод bind привязывает метод обратного вызова к кнопке, чтобы выполняться при нажатии. Метод обратного вызова называется « displayMessage», который устанавливает текстом ярлыка текст, который введён в виджет текстового ввода . Приложения запускаются, только если файл main.py выполняется, гарантируя, что переменная « __name__» имеет значение « __main__» внутри оператора if. Делать так — хорошая практика. Для запуска приложения необходимо выполнить два шага. Сначала нужно активировать созданную ранее виртуальную среду Kivy с именем « mykivyinstall». Затем, запустить файл приложения « main.py» после перехода в папку, в которой он существует. Эти шаги показаны на рисунке 3.

На рисунке 4 показано окно с тремя созданными ранее виджетами. Обратите внимание, что высота окна делится поровну между тремя виджетама так, чтобы каждый виджет имел одну третью высоты окна. В этом примере сообщение « Hello Kivy» вводится в поле текстового ввод. Когда кнопка нажата, сообщение появится в ярлыке.

На этом этапе можно сказать, что приложение Kivy для рабочего стола успешно создано. Теперь мы можем начать упаковку этого проекта как приложения для Android.

8. Установка Buildozer

Инструмент Buildozer используется для упаковки проекта в качестве приложения для Andro >Buildozer автоматизирует процесс создания приложения для Andro >Buildozer, необходимо разрешить некоторые зависимости. В дополнение к установленным ранее Cython и git, есть некоторые другие библиотеки, которые должны быть установлены. На основе инструкций по установке взятых с http://buildozer.readthedocs.io/en/latest/installation.html, все зависимости можно скачать и установить с помощью следующих команд Ubuntu:

Buildozer может быть установлен с помощью этой команды. Эта команда гарантирует, что Buildozer будет установлен и обновлен.

После успешной установки Buildozer, давайте подготовим все необходимые файлы, чтобы успешно создать приложение для Android.

9. Создание файла buildozer.spec

Структура нашего проекта показана на рисунке 5. В папке с именем simpleapp размещен файл main.py, созданный ранее. Красота Kivy заключается в том, что этот же файл Python будет использоваться без изменений в приложении для Andro >buildozer.spec, который необходим для создания приложения. Этот файл содержит информацию об Android-приложении, такую как название и версия. Как создать этот файл?

Файл buildozer.spec может быть сгенерирован с использованием инструмента Buildozer. Измените текущий рабочий каталог на каталог, в котором размещён файл приложения main.py, а затем выполните следующую команду:

Появится сообщение, указывающее, что был создан файл buildozer.spec, как показано на рисунке 6.

Далее перечислены некоторые из важных свойств приложения Android в файле buildozer.spec:

Например, заголовок (title) содержит заголовок приложения, исходный каталог (source directory) ссылается на каталог приложения, который устанавливается в этом случае как текущий каталог, версия приложения, версии Python и Kivy и прочее. Эти поля находятся внутри раздела [ app] файла спецификации. Вы можете проверить спецификации приложения пройдя по этой ссылке http://buildozer.readthedocs.io/en/latest/specifications.html. Вы также можете отредактировать файл спецификации, чтобы изменить все поля, которые, по вашему мнению, требуют редактирования.

После подготовки всех файлов, необходимых для создания Android приложения, давайте наконец его создадим.

10. Создание приложения для Andro > Buildozer — хороший инструмент для создания приложения для Andro >python-for-andro >SDK, NDK и другие. Внутри каталога приложения его можно создать, используя следующую команду:

На рисунке 7 показан ответ при вводе команды. При создании приложения в первый раз, Buildozer должен загрузить все эти зависимости. Это займет некоторое время, пока они загрузятся и установятся. Потерпите.

После выполнения команды файл APK будет найден в следующем каталоге проекта: /simpleapp/.buildozer/android/platform/build/dists/simpleapp/bin. Файл APK можно перенести на устройство Android для его запуска. Также можно подключить устройство Android к машине, создать, развернуть и запустить приложение, используя одну команду, которая выглядит следующим образом:

На рисунке 8 показан запуск приложения для Android.

11. Используемые источники

Филипс, Дасти. Создание приложений в Kivy: Мобильный софт вместе с Python. “O’Reilly Media, Inc.”, 2014.

Python for Andro >

Поискал в гугле и быстро запутался от разнообразия ссылок и названий продуктов.

У кого-то есть опыт написания приложений под андроид используя питон? Поделитесь опытом и списком, что за чем пробовать и устанавливать?

  • Вопрос задан более трёх лет назад
  • 62105 просмотров

Питон для Андроида — достаточно мозгозатратное занятие.
Я бросил эту затею, хотя иногда слежу за проектами, подающими надежду в этом направлении.

Если нужно создавать игры, то это PyGame for Android — pygame.renpy.org
Если нужно бизнес-приложения, то это Kivy — kivy.org (их гитхаб — github.com/kivy/python-for-android)

Недостатки первого:
1. проект не развивается
2. ориентирован на создание игр
3. только arm-архитектура
4. поддерживается только одно касание


Достоинства первого:
1. ниже порог вхождения — достаточно легко устанавливается (не без бубна, но легче, чем kivy)
2. куча документации по самой PyGame, которую можно использовать при разработке

Недостатки второго:
1. требует от устройства поддержку gles 2.0 (даже для простенького интерфейса)
2. везде с собой тянет библиотеку для построения интерфейсов
3. нужно постараться, чтобы установить всё это добро (кросс-компиляция и всё такое)

Достоинства второго:
1. любая поддерживаемая Андроидом архитектура
2. проект развивается
3. поддержка мультитач
4. использует наработки PyGame for Android

По поводу sl4a — он не позволяет создавать обособленные пакеты — требуется отдельно установленный интерпретатор Питона. По этой причине я его не рассматриваю.

В любом случае, стоит быть готовым к тому, что размер пакета будет минимум 3 МБ даже в случае HelloWorld — каждое приложение будет тянуть с собой интерпретатор и стандартную библиотеку.

Следует отметить, что это не аналитическое сравнение — я отметил те пункты на которые обращал внимание. Возможно дела обстоят по-другому и я заблуждаюсь — я не использую Питон для Андроида ни в одном из своих проектов, хотя хотел бы.

Is there a way to run Python on Andro > Ask Question

We are working on an S60 version and this platform has a nice Python API..

However, there is nothing official about Python on Android, but since Jython exists, is there a way to let the snake and the robot work together??

10-25% slower than well / perfectly written C/C++ code. And there’s way less place to screw up writing in Java. – TC1 Feb 14 ’12 at 15:39

25 Answers 25

One way is to use Kivy:

Open source Python library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps.

Kivy runs on Linux, Windows, OS X, Android and iOS. You can run the same [python] code on all supported platforms.

There is also the new Android Scripting Environment (ASE/SL4A) project. It looks awesome, and it has some integration with native Android components.

Note: no longer under «active development», but some forks may be.

An example via Matt Cutts via SL4A — «here’s a barcode scanner written in six lines of Python code:

There’s also SL4A written in large by Google employees.

Pygame Subset for Android

Pygame is a 2D game engine for Python (on desktop) that is popular with new programmers. The Pygame Subset for Android describes itself as.

. a port of a subset of Pygame functionality to the Android platform. The goal of the project is to allow the creation of Android-specific games, and to ease the porting of games from PC-like platforms to Android.

The examples include a complete game packaged as an APK, which is pretty interesting.

Cross-Compilation & Ignifuga

My blog has instructions and a patch for cross compiling Python 2.7.2 for Android.

I’ve also open sourced Ignifuga, my 2D Game Engine. It’s Python/SDL based, and it cross compiles for Android. Even if you don’t use it for games, you might get useful ideas from the code or builder utility (named Schafer, after Tim. you know who).

Scripting Layer for Android

SL4A does what you want. You can easily install it directly onto your device from their site, and do not need root.

It supports a range of languages. Python is the most mature. By default, it uses Python 2.6, but there is a 3.2 port you can use instead. I have used that port for all kinds of things on a Galaxy S2 and it worked fine.

SL4A provides a port of their android library for each supported language. The library provides an interface to the underlying Android API through a single Android object.

Each language has pretty much the same API. You can even use the JavaScript API inside webviews.

User Interfaces

For user interfaces, you have three options:

  • You can easily use the generic, native dialogues and menus through the API. This is good for confirmation dialogues and other basic user inputs.
  • You can also open a webview from inside a Python script, then use HTML5 for the user interface. When you use webviews from Python, you can pass messages back and forth, between the webview and the Python process that spawned it. The UI will not be native, but it is still a good option to have.
  • There is some support for native Android user interfaces, but I am not sure how well it works; I just haven’t ever used it.

You can mix options, so you can have a webview for the main interface, and still use native dialogues.

QPython

There is a third party project named QPython. It builds on SL4A, and throws in some other useful stuff.

QPython gives you a nicer UI to manage your installation, and includes a little, touchscreen code editor, a Python shell, and a PIP shell for package management. They also have a Python 3 port. Both versions are available from the Play Store, free of charge. QPython also bundles libraries from a bunch of Python on Android projects, including Kivy, so it is not just SL4A.

Note that QPython still develop their fork of SL4A (though, not much to be honest). The main SL4A project itself is pretty much dead.

  • SL4A Project (now on GitHub): https://github.com/damonkohler/sl4a

  • SL4A Python 3 Port: https://code.google.com/p/python-for-android/wiki/Python3
  • QPython Project: http://qpython.com
  • Learn SL4A (Tutorialspoint): https://www.tutorialspoint.com/sl4a/index.htm
Цукерберг рекомендует:  Выделение - Выделение и копирование переменных

As a Python lover and Android programmer, I’m sad to say this is not a good way to go because there are two problems;

One problem is that there is a lot more than just a programming language to the Android development tools. A lot of the Android graphics involve XML files to configure the display, similar to HTML. The built-in java objects are integrated with this XML layout, and it’s a lot easier than writing your code to go from logic to bitmap.

The other problem is that the G1 (and probably other Android devices for the near future) are not that fast. 200 MHz processors and RAM is very limited. Even in Java, you have to do a decent amount of rewriting-to-avoid-more-object-creation if you want to make your app perfectly smooth. Python is going to be too slow for a while still on mobile devices.

I wanted to add to what @JohnMudd has written about Kivy. It has been years since the situation he described, and Kivy has evolved substantially.

The biggest selling point of Kivy, in my opinion, is its cross-platform compatibility. You can code and test everything using any desktop environment (Windows/*nix etc.), then package your app for a range of different platforms, including Android, iOS, MacOS and Windows (though apps often lack the native look and feel).

With Kivy’s own KV language, you can code and build the GUI interface easily (it’s just like Java XML, but rather than TextView etc., KV has its own ui.widgets for a similar translation), which is in my opinion quite easy to adopt.

Currently Buildozer and python-for-android are the most recommended tools to build and package your apps. I have tried them both and can firmly say that they make building Android apps with Python a breeze. Their guides are well documented too.

iOS is another big selling point of Kivy. You can use the same code base with few changes required via kivy-ios Homebrew tools, although Xcode is required for the build, before running on their devices (AFAIK the iOS Simulator in Xcode currently doesn’t work for the x86-architecture build). There are also some dependency issues which must be manually compiled and fiddled around with in Xcode to have a successful build, but they wouldn’t be too difficult to resolve and people in Kivy Google Group are really helpful too.

With all that being said, users with good Python knowledge should have no problem picking up the basics quickly.

If you are using Kivy for more serious projects, you may find existing modules unsatisfactory. There are some workable solutions though. With the (work in progress) pyjnius for Android, and pyobjus, users can now access Java/Objective-C classes to control some of the native APIs.

python-for-andro > pip install python-for-android Copy PIP instructions

Last released: Aug 19, 2020

Android APK packager for Python scripts and apps

Statistics

View statistics for this project via Libraries.io, or by using Google BigQuery

License: MIT License (MIT)

Maintainers

Classifiers

  • Development Status
    • 5 — Production/Stable
  • Intended Audience
    • Developers
  • License
    • OSI Approved :: MIT License
  • Operating System
    • Android
    • MacOS :: MacOS X
    • Microsoft :: Windows
    • OS Independent
    • POSIX :: Linux
  • Programming Language
    • C
    • Python :: 3
  • Topic
    • Software Development
    • Utilities

Project description

python-for-android

python-for-android is a packaging tool for Python apps on Android. You can create your own Python distribution including the modules and dependencies you want, and bundle it in an APK along with your own code.

  • Support for building with both Python 2 and Python 3.
  • Different app backends including Kivy, PySDL2, and a WebView with Python webserver.
  • Automatic support for most pure Python modules, and built in support for many others, including popular dependencies such as numpy and sqlalchemy.
  • Multiple architecture targets, for APKs optimised on any given device.


For documentation and support, see:

Documentation

Follow the quickstart instructions to install and begin creating APKs.

Quick instructions: install python-for-android with:

(for the develop branch: pip install git+https://github.com/kivy/python-for-android.git )

Test that the install works with:

To build any actual apps, set up the Android SDK and NDK as described in the quickstart. Use the SDK/NDK API level & NDK version as in the quickstart, other API levels may not work.

With everything installed, build an APK with SDL2 with e.g.:

For full instructions and parameter options, see the documentation.

Support

If you need assistance, you can ask for help on our mailing list:

Contributing

We love pull requests and discussing novel ideas. Check out the Kivy project contribution guide and feel free to improve python-for-android.

See our documentation for more information about the python-for-android development and release model, but don’t worry about the details. You just need to make a pull request, we’ll take care of the rest.

The following mailing list and IRC channel are used exclusively for discussions about developing the Kivy framework and its sister projects:

License

python-for-android is released under the terms of the MIT License. Please refer to the LICENSE file.

History

In 2015 these tools were rewritten to provide a new, easier to use and extend interface. If you’d like to browse the old toolchain, its status is recorded for posterity at at https://github.com/kivy/python-for-android/tree/old_toolchain.

In the last quarter of 2020 the python recipes has been changed, the new recipe for python3 (3.7.1) has a new build system which has been applied to the ancient python recipe, allowing us to bump the python2 version number to 2.7.15. This change, unifies the build process for both python recipes, and probably solve some issues detected over the years. Also should be mentioned that this unified python recipes require to target to a minimum api level of 21, Andro >

Those mentioned changes has been done this way to make easier the transition between python3 and python2. We will slowly phase out python2 support towards 2020. so. if you are using python2 in your projects you should consider to migrate it into python3.

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! �� [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

Есть ли способ запустить Python на Andro >

Мы работаем над версией S60, и на этой платформе есть хороший API Python.

Тем не менее, в Python нет ничего официального на Android, но, поскольку существует Jython , есть ли способ позволить змее и роботу работать вместе?

Один из способов – использовать Kivy :

Библиотека Python с открытым исходным кодом для быстрой разработки приложений, использующих инновационные пользовательские интерфейсы, такие как приложения с несколькими касаниями.

Kivy работает на Linux, Windows, OS X, Android и iOS. Вы можете запустить такой же код [python] на всех поддерживаемых платформах.

Приложение Kivy Showcase

Существует также проект Android Scripting Environment (ASE). Он выглядит потрясающе, и он имеет некоторую интеграцию с родными компонентами Android.

Пример через Matt Cutts – «вот сканер штрих-кода, написанный в шести строках кода Python:

Там также есть SL4A, написанный сотрудниками Google.

«Подраздел Pygame для Android – это порт подмножества функций Pygame для платформы Android. Цель проекта – создать Android-специфические игры и упростить перенос игр с ПК-подобных платформ на Android «.

Примеры включают полную игру, упакованную в APK, что довольно интересно.

Я опубликовал инструкции и патч для перекрестного компиляции Python 2.7.2 для Android, вы можете получить его в моем блоге здесь: http://mdqinc.com/blog/2011/09/cross-compiling-python-for-android /

EDIT: у меня есть открытый источник Ignifuga , мой 2D-игровой движок, это Python / SDL, и это кросс-компиляция для Android. Даже если вы не используете его для игр, вы можете получить полезные идеи из кода и утилиты builder (по имени Шафер, после Тима … вы знаете, кто).

Как любитель Python и Android-программист, мне грустно говорить, что это не очень хороший способ. Есть две проблемы.


Одна из проблем заключается в том, что для инструментов разработки Android существует намного больше, чем просто язык программирования. Большая часть графики Android включает файлы XML для настройки дисплея, аналогичные HTML. Встроенные объекты Java действительно интегрированы с этим XML-макетом, и это намного проще, чем писать собственный код, чтобы перейти от логики к растровому изображению.

Другая проблема заключается в том, что G1 (и, вероятно, другие устройства Android для ближайшего будущего) действительно не так быстр. 200 МГц и RAM очень ограничены. Даже в Java вы должны сделать приличное количество переписывания, чтобы избежать большего создания объектов, если вы хотите сделать ваше приложение совершенно гладким. Python будет слишком медленным на некоторое время на мобильных устройствах.

Сценарий Scripting Layer для Android делает то, что вы хотите. Вы можете легко установить его прямо на свое устройство со своего сайта и не нуждаться в корне.

Он поддерживает ряд языков; Python – самый зрелый. По умолчанию он использует Python 2.6, но вместо этого вы можете использовать 3,2 порта . Я использовал этот порт для всех вещей на Galaxy S2, и он отлично работал.

SL4A предоставляет порт своей библиотеки android для каждого поддерживаемого языка. Библиотека предоставляет интерфейс для базового Android API через один объект Android .

Каждый язык имеет практически тот же API. Вы даже можете использовать JavaScript API внутри webviews.

Пользовательские интерфейсы

Для пользовательских интерфейсов у вас есть три варианта:

  • Вы можете легко использовать общие, родные диалоги и меню через API. Это хорошо для диалогов подтверждения и других основных пользовательских входов.
  • Вы также можете открыть веб-представление из сценария Python, а затем использовать HTML5 для пользовательского интерфейса. Когда вы используете webviews из Python, вы можете передавать сообщения туда и обратно между веб-просмотром и процессом Python, который породил его. Пользовательский интерфейс не будет родным, но он по-прежнему остается хорошим вариантом.
  • Существует некоторая поддержка пользовательских интерфейсов для Android, но я не уверен, насколько это хорошо работает; Я просто никогда не использовал его.

Вы можете смешивать параметры, поэтому вы можете иметь веб-интерфейс для основного интерфейса и по-прежнему использовать собственные диалоги.

QPython

Существует сторонний проект с именем QPython . Он основывается на SL4A и бросает некоторые другие полезные вещи.

QPython дает вам более удобный интерфейс для управления вашей установкой и включает в себя небольшой редактор кода сенсорного экрана, оболочку Python и оболочку PIP для управления пакетами. Они также имеют порт Python 3. Обе версии доступны в Play Store бесплатно. QPython также связывает библиотеки из группы Python в проектах Android, включая Kivy, поэтому это не просто SL4A.

Обратите внимание, что QPython по-прежнему развивает свою вилку SL4A (хотя и не очень, если честно). Сам проект SL4A в значительной степени мертв.

Не сейчас, и вам повезет, что скоро Jython начнет работать. Если вы планируете начать разработку сейчас, вам будет лучше с тем, чтобы придерживаться Java на данный момент.

Используя SL4A (который уже упоминался отдельно в других ответах), вы можете запустить полномасштабный экземпляр web2py (другие потенциальные кандидаты на python также являются кандидатами). SL4A не позволяет вам создавать собственные компоненты пользовательского интерфейса (кнопки, полосы прокрутки и т. П.), Но поддерживает WebView . WebView – это не что иное, как полосатый веб-браузер, указывающий на фиксированный адрес. Я считаю, что родное приложение Gmail использует WebView вместо обычного маршрута виджетов.

Этот маршрут будет иметь некоторые интересные особенности:

  • В случае большинства веб-фреймворков python вы можете фактически разработать и протестировать, не используя Android-устройство или эмулятор Android.
  • Какой бы ни был код Python, который вы в конечном итоге пишете для телефона, можно также разместить на общедоступном веб-сервере с очень небольшой (если есть) модификацией.
  • Вы можете использовать все сумасшедшие веб-материалы: запрос, HTML5, CSS3 и т. Д.

Я хочу опубликовать это как расширение того, что @JohnMudd уже ответил ( но, пожалуйста, расскажите мне, как английский не мой первый язык )

Прошло много лет с тех пор, и Kivy также эволюционировал до версии v.1.9-dev , самой большой точкой продаж Kivy, на мой взгляд, является ее кросс-платформенная совместимость, вы можете кодировать и тестировать в своей локальной среде (Windows / * nix и т. Д. .) , Вы также можете создавать, отлаживать и упаковывать приложение для работы на устройствах Android / iOS / Mac / Windows .

С собственным KV- языком Kivy можно легко легко конструировать и легко создавать интерфейс GUI (это похоже на Java XML, но вместо TextView и т. Д., У KV есть свои ui.widgets для аналогичного перевода), что, на мой взгляд, Довольно легко принять.

В настоящее время Buildozer и python для Android являются наиболее рекомендуемыми инструментами для создания / упаковки ваших приложений. Попробовав их обоих, я могу с уверенностью сказать, что они создают для Android приложения с Python. Пользователи, которые чувствуют себя комфортно в своих консольных / терминальных / командных приглашениях, не должны иметь проблем с их использованием, а их руководства также хорошо документированы.

Более того, iOS – еще одна важная точка продаж Kivy, при условии, что вы можете использовать ту же базу кода с небольшими изменениями, необходимыми для тестирования на вашем устройстве iOS , с помощью инструментов kivy-ios Homebrew, хотя Xcode необходимы для сборки перед запуском Их устройства (AFAIK iOS Simulator в Xcode в настоящее время не работает для сборки архитектуры x86). Также есть некоторые проблемы с зависимостями, которые необходимо вручную скомпилировать и использовать в Xcode, чтобы иметь успешную сборку, но не будет слишком сложно разрешить, и люди в Kivy Google Group тоже очень полезны.

При всем том, что пользователи с хорошим знанием Python не должны беспокоиться о том, чтобы собрать основы в неделях (если не дни), чтобы создать несколько простых приложений.

Также стоит упомянуть, что вы можете связывать (создавать рецепты) свои модули Python со сборкой, чтобы пользователи могли действительно использовать многие существующие библиотеки, которые Python приносит нам, например, Requests & PIL и т. Д. Через поддержку расширения Kivy .

Иногда ваше приложение требует функциональности, которая выходит за рамки того, что может предоставить Kivy. В этих случаях необходимо обращаться к внешним библиотекам программного обеспечения. Учитывая богатство экосистемы Python, уже существует большое количество программных библиотек, которые вы можете просто импортировать и использовать сразу.

Последнее, но не менее важно , если вы собираетесь использовать Kivy для более серьезных / коммерческих проектов, вы можете найти существующие модули, которые не соответствуют ожидаемым. Имеются также некоторые доступные решения: «работа продолжается» для pyjnius для Andoird и pyobjus , теперь пользователи могут получать доступ к классам Java / Objective-C через эти модули для управления некоторыми собственными API-интерфейсами.

Мой опыт работы в Kivy заключается в том, что он будет лучше всего соответствовать сезонным программистам на Python и некоторому серьезному программисту, который хочет быстрой разработки или простого обслуживания базы кода. Он хорошо работает на нескольких платформах, хотя и не на уровне собственного чувства.

Я надеюсь, что больше программистов Python / app найдут мою небольшую информацию полезной и начнут смотреть на Kivy, она может только улучшиться (с большим количеством поддержки и библиотек / модулей портироваться), если у сообщества есть большие интересы.

PSI не имеет никаких отношений с Kivy, я всего лишь программист, которому действительно нравится идея привлекать Python-кодирование к мобильной / кросс-платформенной разработке.

Я использую приложение QPython. У него есть редактор, консоль, и вы можете запускать с ним свои программы Python. Приложение бесплатное, а ссылка – http://qpython.com/ .

С сайта Python для android :

Python для android – это проект для создания собственного дистрибутива Python, включая модули, которые вы хотите, и создания apk, включая python, libs и ваше приложение.

Это встраивает непосредственно интерпретатор Python в ваше приложение apk.

Вы можете запустить свой код Python с помощью sl4a . Sl4a поддерживает Python, Perl , JRuby , Lua , BeanShell, JavaScript, Tcl и скрипт оболочки.

Вы можете изучить примеры python для sl4a.

Также есть python-on-a-chip, возможно, работает mosync: google group

Не видел этого, опубликованного здесь, но вы можете сделать это с Pyside и Qt, теперь Qt работает на Android благодаря Necessitas.

В настоящий момент это похоже на kludge, но в конечном итоге может стать жизнеспособным маршрутом …

Другим вариантом, если вы ищете 3.4.2 или 3.5.1, является этот архив на GitHub.


Python3-Android 3.4.2 или Python3-Android 3.5.1

В настоящее время он поддерживает Python 3.4.2 или 3.5.1 и 10d версию NDK. Он также может поддерживать 3,3 и 9c, 11c и 12

Приятно, что вы просто загружаете его, запускаете make и получаете .so или .a

В настоящее время я использую это для запуска raw Python на устройствах Android. С помощью нескольких модификаций файлов сборки вы также можете сделать x86 и armeabi 64 бит

Вы можете использовать приложение Termux :

Обратите внимание, что apt install python install python 3. для python 2 вы вызываете apt install python2.

Вы можете использовать QPython :

Он имеет консоль Python, редактор, а также управление пакетами / инсталляторы

Это проект с открытым исходным кодом с реализациями Python 2 и Python 3. Вы можете скачать исходный код и файлы .apk для Android непосредственно из github.

В playstore есть приложение под названием QPython3, которое можно использовать для редактирования и запуска скрипта python.

Связь с PlayStore

Другое приложение, называемое Termux, в котором вы можете установить python с помощью команды

Еще одним вариантом является pyqtdeploy, который ссылается на документы:

Инструмент, который вместе с другими инструментами, поставляемыми с Qt, позволяет развертывать приложения PyQt4 и PyQt5, написанные с помощью Python v2.7 или Python v3.3 или новее. Он поддерживает развертывание на настольных платформах (Linux, Windows и OS X) и на мобильных платформах (iOS и Android).

Согласно развертыванию приложения PyQt5 на Android через pyqtdeploy и Qt5, он активно развивается, хотя трудно найти примеры работающих приложений для Android или учебник о том, как перекрестно скомпилировать все необходимые библиотеки на Android. Это интересный проект, который нужно помнить!

8 полезных приложений для изучения Python на Andro >

Python — один из самых востребованных языков программирования. В этой статье расскажем, как сделать его изучение ещё удобнее, если у вас есть смартфон на Android и хотя бы немного свободного времени.

Learn Python

Под этим названием в Google Play можно найти три хороших приложения (вообще их больше, но на установку других не стоит даже тратить время). Наиболее простое из них представляет собой курс Udemy по Python 2.x, запакованный командой SoloLearn в формат Android-приложения. В нём содержатся уроки, которые разделены на две ступени: базовую и продвинутую. Внутри — краткий справочный материал в текстовом или PDF-формате. Для отдельных уроков есть примеры рабочего кода. Не требует подключения к Сети.

Учим Python

Это приложение предлагает пользователям изучить третью версию языка и обладает куда более широкой функциональностью. Основной экран отведён для отображения отдельных этапов курса и личных результатов. В меню можно найти раздел для свободного творчества на Python, скачать курсы для других языков программирования, а также изучить справочную информацию. У приложения есть интересная фишка: каждый, кто проходит курс и решает задачи, получает баллы. С их общим количеством можно ознакомиться на отдельной вкладке. Так появляется дополнительная игровая составляющая, которая может мотивировать кого-то на более тщательное изучение. В конце курса можно получить сертификат об освоении языка программирования.

Learn Python Programming

Третье приложение, разработанное студией Phoenix App Labs, обладает наиболее широкой функциональностью и самым красочным интерфейсом. Здесь есть не только уроки для начинающих и уже изучавших язык, но и возможность скачивать готовые проекты на Python прямо из приложения, подробная статистика изученного, отдельная вкладка для удобного доступа к собственным программам и элемент социального соревнования в виде онлайн-чемпионата по кодингу с доской почёта. В случае успешного освоения курса каждый пользователь получает сертификат.

QPython

Полноценная среда для программирования на Python для Android-устройств. Включает в себя интерпретатор Python, консоль, редактор и SL4A-библиотеку, которая позволяет создавать и запускать скрипты прямо на гаджете (поддерживается работа со смартфонами и планшетами, поскольку имеются библиотеки для работы сетевых интерфейсов, GPS). Так что в этом приложении можно кодить и создавать полноценные проекты. Если под рукой есть хороший учебник по Python и готовые проекты, выбор QPython будет более чем оправдан, несмотря на отсутствие встроенных обучающих функций.

Python Documentation

Стильное приложение с документацией по Python 3.5 на английском языке. Умеет работать в офлайне. Есть раздел с примерами готового кода, хотя основное назначение программы — подробная справка для тех, кто уже освоил базовые принципы языка. Обладает очень удобным поиском и простой навигацией.

QPython — Python for Android

QPython является двигатель скрипт, который работает на Python андроид устройств.

QPython — это программный движок, который запускает скрипт Python на ваших устройствах Android.
Он содержит интерпретатор Python, редактор, QPYPI, считыватель QRCode и некоторые удивительные функции для Android.

Это буквально самый потрясающий Python на Android.

Самая новая версия — 2.4.0, она содержит следующие удивительные функции.

— Offline Python 2.7.15 / 3.6 интерпретатор все в одном: для запуска программ Python не требуется Интернет
— Встроенная удивительная среда разработки Python
— Менеджер пакетов пакетов и пользовательский репозиторий для готовых пакетов колес, таких как расширенные научные библиотеки
— Мощное сканирование QRCode может читать ссылку программы / ссылки / ноутбука с QRCode
— Встроенный плагин для ноутбуков, который легко позволяет вам открыть документацию ноутбука jupyter

[[Программирование и пакеты]]

Благодаря функциям ниже вы можете легко разрабатывать свои приложения:

— Встроенная библиотека SL4A, позволяющая вашему Android-устройству легко функционировать (одна из мощных функций QPython)
— Встроенная библиотека pygame для Android SDL2, позволяющая легко разрабатывать игру на Android
— Встроенный фреймворк для бутылок, позволяющий быстро разрабатывать WebApps

Кроме того, QPython поддерживает следующие библиотеки:

— Django / Flask / Tornado .
— Няня / Скупи .
— Множество библиотек, установленных вместе с клиентом QPYPI.

— Когда вы долго нажимаете на значок терминала панели управления, вы можете запустить оболочку системного терминала или терминал Python
— Вы можете использовать быстрый ключ в нижней части терминала.
— Изменить поведение терминала или размер шрифта в настройках редактора

— Автоотчерпывание кода и выделение синтаксиса
— Расширенная клавиатура со всеми необходимыми символами, необходимыми для программирования на Python
— Несколько тем
— Улучшенная навигация по коду с интерактивным назначением / определением go-tos
— Доля одного клика с GIST.

— Чтобы включить программирование с некоторыми функциями Android, QPython требует следующие разрешения: Bluetooth, GPS и т. Д.
Он не требует некоторых разрешений, таких как доступ к учетной записи пользователя, статуса доступа к телефону, то есть вы не можете использовать некоторые API SL4A.
— Если вы используете более старую версию с Andro >

Пожалуйста, дайте нам пять звезд, если вам нравится наше приложение.
Спасибо!
Свяжитесь с нами, если у вас возникли проблемы.
http://m.facebook.com/QPython
http://twitter.com/QPython
support@qpython.org
https://groups.google.com/forum/#!forum/qpython

Это программное обеспечение использует код Android Terminal Emulator, лицензированный по лицензии APACHE2 LICENSE.


Linux Exp Group

Python для Andro >

Apr 30, 2011 By Paul Barry
in Mobile

Действительно ли Java — единственный игрок в этой игротеке (программирование приложений для Android)? Подумайте еще раз.

Разработка мобильных приложений для смартфонов — горячая тема. Больше нет сомнений, что в экосистеме Android в этом смысле развилась бешеная активность. Однако, когда мы приступаем к разработке «реального» приложения для Android, начинает казаться, что имеется одна единственная возможность: программить на Java (хотя не исключена возможность использовать C/C++ с Android Native Development Kit). Выбор Google — сделать базой популярную среди разработчиков технологию для своего Android SDK, который запускает специальным образом настроенную виртуальную машину.

В отличие от других популярных смартфонов, это, наверное, хорошая стратегия. Всё что вам нужно, это персональный компьютер или лэптоп с запущенным Linux, Windows или Mac OS X, с копией Java и свободно распространяемым Android SDK. Google предоставляет для скачивания эмулятор, поддерживающий все верси Андроида, имеется даже свободный плагин для Eclipse для облегчения старта и ориентирования в правильном направлении.

Это круто — в том, конечно, случае, если вы фанат Java. Если подобно мне, вы скорее станете жрать стекло, чем сядете кодить что-то на Java в Эклипсе, тогда вам снова не повезло. Это, однако, не конец. Имеется сравнительно удачный проект, который позволяет внести разработку на скриптовых языках в платформу Android. И это Scripting Layer for Android (SL4A), рабочая альтернатива разработке на Java.

В этой статье я пройдусь по шагам, необходимым для подготовки вашего компьютера для Android-разработки с помощью SL4A. Мой сценарий покажет вам, как написать, оттестировать и запустить простой скрипт на Python в вашем Android-устройстве.

Введение в SL4A
Scripting Layer for Android — один из многих проектов, помогающих видеть жизнь через призму результатов политики Google, поскольку внутри корпорации официально принято выделять разработчикам до 20% рабочего времени на так называемые «проекты — домашние любимцы». Damon Kohler работает на Google, и он создал SL4A в качестве побочного эффекта почесывания судящих мест относительно разработки для Android. SL4A предоставляет высокоуровневый интерфейс для нижележащих технологий Android Java, включая API для языков сценариев.

Python был одним из первых языков, поддержка которого появилась в SL4A, но соответствующие интерпретаторы теперь также доступны для Perl, JRuby, Lua, BeanShell, JavaScript и Tcl. В своём состоянии по умолчанию SL4A поступает с работающей версией shell. SL4A API дизайн отличается нацеливанием на возможность переносимости кода между разными языками сценариев. Поэтому, если бы я захотел показать Perl вместо Python в данной статье, вызовы API выглядели бы точно также. Но Python — это в некотором смысле стандарт SL4A и к тому же мой выбор.

Примите низкий старт
Для начала нужно получить копию Android SDK, запущенную на вашем компьютере в виртуальной машине Java. Хотя мы и не собираемся программить на Java, JRE всё равно имеет место быть как требование, поверх среды работает эмулятор самого Android-а. Эмулятор является частью SDK. Эмулятор — это песочница, в которой мы играемся с тестами до переноса приложения в Android-устройство.

Прежде, чем начать, вы должны убедиться, что Java VM установлена в системе. В моей системе, установленной на свеженькой Xubuntu, я ввожу следующие команды и вижу, что Java недоступна:

$ javac -version
$ java -version

Xubuntu предлагает установить соответствующие пакеты с помощью apt-get to install openjdk-6-jdk, так и делаем:

$ sudo apt-get openjdk-6-jdk

Если же вы работаете в дистрибутиве, который не является веткой Дебиана, поройтесь в своём репозитории пакетов в поиске аналогичного.

Установив Java, озаботимся Android SDK. Предлагаемые для скачивания сборки доступны для Mac OS X, Windows и Linux. Найдем последний тарболл для Linux и загрузим его.

Установка Android SDK
Когда SDK загружен, просто распакуйте его в директорию по своему выбору (имя файла может отличаться от данного в примере):

$ tar zxvf android-sdk_r07-linux_x86.tgz

Эта команда создаст новый каталог, называющийся android-sdk-linux_x86, который я переименовал в просто Android. Для вас интерес представляет одна из поддиректорий с названием tools.

Подготовка Android Emulator
Внутри директории tools нас интересуют только две программы. Утилита adb помогает доставлять файлы внутрь эмулятора (и наоборот). Утилита android позволяет запускать эмулятор для любого номера версии Android, и сказать, что вы хотите делать дальше.

$ cd Android/tools
$ ./android

Команда android запускает Android SDK и AVD Manager, это утилита, которая запускает эмулятор нужной версии в виде виртуального устройства. На данный момент у нас ни одного устройства нет, нужно его создать. Перед тем как это произойдёт, вы должны установить целевой пакет Android API. Для этого перейдите на вкладку Installed Packages и нажмите кнопку Update All. В диалоге, который после этого появится нажмите Accept All и далее Install. Время для закачки потребуется много, поэтому идите на кухню и выпейте кофе.

Когда загрузка завершится, давайте создадим Android Virtual Device (AVD). Выберите вкладку Virtual Devices и нажмите кнопку New. В появившемся диалоге установите свойства виртуального устройства. На рисунке 1 показаны: имя, которое я выбрал для устройства (LJapp), выбранная цель (API Level 7, что соответствует Android 2.1), установленная виртуальная карта памяти SD, которую я обозначил как 256 Мб. Когда выберите свои установки, нажмите кнопку Create AVD для инициализации устройства.

Figure 1. Setting the defaults for your emulated Android virtual device.

Если теперь вернуться на вкладку Virtual Devices, там должно появиться новое устройство LJapp. Выберите его и нажмите кнопку Sart в появившемся диалоге. Эмулятор начнёт загрузку и через несколько секунд вы увидите открытый экран вашего Android-устройства (рисунок 2). Имейте в виду, что эмулятор работает медленнее, чем реальный телефон, поэтому появление стартового экрана займет время, это время зависит от шустрости процессора ПК.

Figure 2. Your Android emulator is ready.

Для обозначения события щелчка мыши внутри экрана эмулятора я буду использовать термин «тап», поскольку в реальности это не мышиный клик, а нечто, что изображает нажатие пальцем.

Установка SL4A
Получение SL4A для эмулятора абсолютно прозрачно. Запустите браузер Android и перейдите на веб-сайт: code.google.com/p/android-scripting. Когда страница появится, тапните на квадратной картинке (QR Code) для доступа к ссылке на скачивание SL4A. Загрузка должна начаться немедленно. После ее завершения тапните на имени закачанного файла пакета, которое на время написания статьи sl4a_r3.apk, для установки. Для продолжения нажмём на кнопку Install, далее тапнем Open для старта приложения. Вы будете спрошены об участии в отслеживании использования, ваш выбор, можете участвовать или отказаться и затем SL4A информирует вас о том, что “No matches found” в вашем листинге скриптов. Это правильно, вы еще не установили ни одного скрипта. SL4A готов для Python.

Установка Python на Android
Вернитесь в браузер Android и дважды тапните на экране для увеличения веб-страницы. Найдите Featured Downloads на правой стороне страницы и тапните на стрелке загрузки пакета python_for_android_r1.apk. Как и раньше, дайте загрузке завершиться и тапните на загруженном пакете для установки. Для подтверждения установки — кнопка Install. После установки нужно будет нажать Open и большую кнопку install для завершения установки. Python for Android загрузит, раскроет и установит поддержку Python для SL4A с сайта SL4A и добавит к установленному пакету SL4A. Займет это всё пару минут. Если затянется, выдохните и вспомните, что эмулятор намного медленнее реального устройства.

После завершения инсталляции станет доступна кнопка Uninstall. Не нажимайте её! Вместо этого тапните на кнопке эмулятора в виде маленького домика для возвращения в главный экран Android. Тапните панель внизу экрана для просмотра списка установленных приложений, и убедитесь, что SL4A добавлен в ваш эмулятор, как на рисунке 3.

Figure 3. Your Android emulator has SL4A installed and is ready for action.

Далее жмём на иконку SL4A, которая теперь отобразит все установленные скрипты Python. Тапните на hello_world.py, это вызовет появление меню SL4A (рисунок 4).

При проходе слева направо иконки имеют следующий смысл: 1) запустить скрипт в командной строке Python; 2) запустить скрипт в «нативном» режиме; 3) редактировать скрипт во встроенном редакторе SL4A, он пригоден только для самой примитивной правки; 4) переименовать скрипт; 5) удалить скрипт. Для быстрой проверки своего приложения тапните вторую иконку в виде шестеренки. Через пару секунд появится сообщение “Hello, Android!”. Оно исчезнет также через две секунды.

Figure 4. SL4A Menu Icons

Если это всё работает, тапните скрипт test.py, затем шестеренку. Это запустит скрипт, который предоставляет вам ряд возможностей как разработчику для Android на Python. Опять-таки, держите в голове, что интерпретатор будет работать медленнее, чем в реальном устройстве. Будьте терпеливы и спокойно дожидайтесь появления различных элементов интерфейса Android.

Создание скриптов для Android
Теперь эмулятор полностью готов для запуска вашего собственного скрипта Python, так давайте создадим его. Перед тем, как мы этим займемся, имейте в виду, что SL4A API есть подмножество полного стека Android API. Но то, что есть — это более чем достаточно для создания полезных приложений Android.

Пример скрипта
Для того, чтобы прочувствовать, что такое запуск программы Python в SL4A, портируем существующее приложение в телефон. Скрипт примера взят из второй части O’Reilly Media’s Head First Programming, где я выступал соавтором для David Griffiths в 2009. Этот простой скрипт заходит на сайт фиктивной компании, называющейся Beans’R’Us, захватывает содержимое главной страницы, разбирает его, находя строку с текущей ценой кофе в зёрнах и выводит эту цену в сообщении. Код прозрачен:

from urllib import urlencode
from urllib2 import urlopen

text = pg.read().decode(«utf8»)
where = text.find(‘>$’)
start_of_price = where + 2
end_of_price = start_of_price + 4
price = float(text[start_of_price:end_of_price])

print «The current price of coffee is:», price

Это Python 2, что есть следствие недемократичного подхода к компонентам: с SL4A поставляется версия 2.6.2. Для выполнения программы поместите её в эмулятор или проверьте вначале в командной строке:


$ python LJapp-cmd.py
The current price of coffee is: 5.52

Портирование простого скрипта в Android
Превращение скрипта в приложение есть по сути добавление визуальных элементов, которые вы хотите привлечь для вывода сообщения. Смысловое ядро кода изменений не требует. Python внутри SL4A полнофункционален, поэтому возможно использование свойств стандартного Python.

Для приведения кода в более Android-like вид, отобразим дружественное приветствие при запуске и бай-бай при выходе. Этот функционал предоставляет makeToast() API.

Вызов dialogCreateSpinnerProgress() API позволит вам отобразить Android-диалог ожидания или прогресса. Для того, чтобы сделать его видимым, вызовем dialogShow(). Сначала вызовем диалог прогресса для ожидания результата запроса с сайта, затем подавим диалог с помощью вызова dialogDismiss() API, когда получим данные. В этой точке вызовем вибрацию телефона (для фана).

Для стадии завершения употребим dialogCreateAlert(), dialogSetItems() and dialogSetPositiveButtonText() API для отображения цены кофе-бобов. Для выхода потребуется тапнуть кнопку ОК.

Код с добавлением вызовов SL4A API будет следующий:

from urllib import urlencode
from urllib2 import urlopen

app.makeToast(«Hello from LJapp»)

appTitle = «LJapp»
appMsg = «Checking the price of coffee. «

app.dialogCreateSpinnerProgress(appTitle, appMsg)
app.dialogShow()

pg = urlopen(«http://www.beans-r-us.biz/prices.html»)
text = pg.read().decode(«utf8»)
where = text.find(‘>$’)
start_of_price = where + 2
end_of_price = start_of_price + 4
price = float(text[start_of_price:end_of_price])

appMsg = «The current price of coffee beans:»

app.dialogCreateAlert(appMsg)
app.dialogSetItems([price])
app.dialogSetPositiveButtonText(‘OK’)
app.dialogShow()
resp = app.dialogGetResponse().result

Кроме добавления визуальных элементов, других изменений не предусмотрено.

Помещение скрипта в эмулятор
Для помещения скрипта в эмулятор, скопируем файл с кодом в каталог Android, затем зальём его, используя утилиту adb:

$ tools/adb push LJapp.py /sdcard/sl4a/scripts
6 KB/s (748 bytes in 0.116s)

После трансфера файла, проверим список доступных скриптов из меню SL4A и убедимся, что LJapp.py где-то вверху списка.

Тестирование скрипта
Продолжим. Тапните по имени приложения, затем шестерёнку. Спустя мгновение вы должны увидеть диалог прогресса, который будет висеть до получения данных с заглавной страницы Beans’R’Us, рисунок 5. Через пару секунд в другом диалоге мы увидим текущую цену на кофе, как показано на рисунке 6. Поздравляем, скрипт портирован в виртуальное устройство Android.

Figure 5. Your Python script is working.

Figure 6. And, there’s the price of coffee beans. Is it time to place an order?

Теперь запустим на смартфоне
Для запуска скрипта на Android-устройстве, установим в него SL4A вместе с Python, затем залейте скрипт. Для установки SL4A задействуйте опцию Unknown Sources в Application settings вашего устройства. Эта опция необходима для установки non-Market приложений на телефон. Когда это сделано, проделайте обычные шаги, как при установке в эмуляторе. Для некоторого ускорения процесса скачайте сканер штрих-кодов Barcode Scanner с Android Market и используйте его для «чтения» QR Codes с экрана десктопа.

Трансфер скрипта на девайс
Есть несколько способов для заливки скрипта на смартфон. Я полагаю, что что-нибудь вроде соединения Bluetooth или соединения USB-кабелем может сильно зависеть от конкретного оборудования. Что работает на одном телефоне, на другом может не работать, и наоборот. Я обычно делаю следующее: на ПК поднимаю ssh-сервер, затем использую приложение на смартфоне для закачки файлов — AndFTP и с помощью scp закачиваю на телефон файл. Однажды получив доступ к ПК через AndFTP, я уже могу осуществлять навигацию по файловой системе компьютера. Держите под контролем то обстоятельство, что файлы нам нужно закачивать в каталог
/sdcard/sl4a/scripts на телефоне. Тогда имена скриптов будут появляться в списке SL4A.

Залив скрипт на девайс, запускаем его также, как указано выше. Ожидаем, что всё сработает так, как в эмуляторе, только существенно быстрее!

Создание пакета APK
Это может быть интересно для вас. Проект, содержащий черновые инструкции по созданию загружабельного пакета Android APK (см. ресурсы). Однажды созданный, пакет предоставляет ваш кастомизированный скрипт со средствами автоматической установки его на другие устройства с последующим запуском из главного меню приложений. Процесс создания пакета потребовал бы для описания отдельной статьи, это я оставляю для смелых из нас, кто способен освоить SL4A Wiki. Для «кое-чего почитать» по поводу успешного создания APK загляните на Split Hitter on the Web.

Несколько слов в заключение
Программирование приложений на Java есть не единственная опция для Android. Доступность SL4A также повышает нашу «хакеродоступность» относительно Android. Больше людей в разработке означает больше голов, а больше голов — это больше помощи и больше кода. Мы получим официальную поддержку Google, если сможем набрать критическую массу, которая сможет поднять профиль проекта во внутреннем рейтинге Google HQ. SL4A уже хорош, но официальный статус. пусть это наступит чем раньше тем лучше.

SL4A: Android Python Scripting

Python scripts can be run on Android using the Scripting Layer For Android (SL4A) in combination with a Python interpreter for Android.

SL4A
The SL4A project makes scripting on Android possible, it supports many programming languages including Python, Perl, Lua, BeanShell, JavaScript, JRuby and shell. The SL4A project has a lot of contributors from Google but it is not an official Google project.

Scripts can access Android specific features such as calling, text message (SMS), take picture, text to speech, bluetooth and many more.

In this article you will learn how to run Python on Android devices using SL4A.

SL4A is designed for developers

Keep in mind that SL4A is designed for developers and in alpha quality software.

Install SL4A

QR: Link to SL4A APK

First enable installation of programs from unknown sources. By default Android devices can only install apps from the Google Play Store.

You have to enable the permission ‘Install from Unknown Sources’, by going to Settings -> Security -> Unknown Sources and tap the box.

After you have have updated these settings donwload the SL4A APK. Visit https://github.com/kuri65536/sl4a on your Android device and download the SL4A APK (or use the QR code on the right).
Once downloaded an installation menu will popup, requesting all permissions on your Android device.

Install Python 3 for Android

QR Code Python 3 for Android

Install the Py4A app. The Python for Android app is built to run solely on

Android devices. You should use this app together with SL4A.

You can pick any version of Py4A, but bare in mind the supported version on Android:

  • Python 2 requires Android Device >= 1.6
  • Python 3 requires Android Device >= 2.3.1

The git repository is: https://github.com/kuri65536/python-for-android/releases

You could also use the QR code on the right using a QR scanner on your Android device.

Once Py4A is installed, start the app and press install. This will install the Python interpreter.

Android Python 3 Install

Open SL4A again. Many scripts will appear (in a list). You can now run Python scripts on your Android Device!

Press on a program such as speak.py A little popup will be shown. Pressing on the terminal icon will start the Python script.

The third button (the pencil) will open an editor. This is not a full blown IDE but a simple editor.
It doesn’t have syntax highlighting.

Scripting on Android

Note: File extension

If you installed the Python 3 interpreter, the programs will show with a .py3 extension instead of a .py extension.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих