среда, 22 сентября 2010 г.

Разработка под Android на Python

Привет всем!
Вот наконец-то дошли у меня руки написать про один из вариантов разработки под телефоны, или вернее гуглофоны на операционной системе Андроид.
Учить яву мне было немного впадло, да и не нужно для тех задач, которые передо мной стояли, и я начал мучать гугль в поисках альтернативы. Нашел что можно писать на С, но тогда мы теряем возможность использования кучи уже готового кода, хотя производительность и возростет по сравнении с java. Также нашел такую прикольную вещь как ASE - Android Scripting Environment. С ее помощью можно создавать и редактировать скрипты прямо на смартфоне под управлением Android. Компьютера с отдельной средой программирования не потребуется. На том же Android-смартфоне написанные скрипты можно будет протестировать и использовать. ASE уже поддерживает языки программирования Python, Lua и BeanShell,Ruby и JavaScript.
Скрипты ASE позволяют получать доступ к множеству различных API и создать простой интерфейс для таких базовых задач, как звонки, отправка текстовых сообщений, сканирование штрих-кодов, преобразование текста в речь и других. Фактически, с помощью ASE разработчики смогут создать на своем устройстве удобные мини-приложения.  Исходные тексты ASE распространяются в рамках лицензии Apache 2.0.
Скачать ASE можно отсюда .
После того как скачали и установили ASE, его нужно немного настроить для вашего скриптового языка. Для этого запускаем ASE, нажимаем кнопку меню, выбираем Interpreters, снова меню, и кнопку Add. Далее выбираем нужный нам скриптовый язык и загружаем добавляем его.
ASE идет с базовым набором примеров. Если вы кликните по любому скрипту, то он запуститься и отработает, а вы сможете увидеть или услышать результат его работы. Для редактирования скрипта нажимаем на нем и ждем появления меню, в котором выберем Edit. Для создания нового скрипта - меню, Add  и выбираем нужный язык.
Писать и отлаживать с самого Андроида бывает не всегда удобно, поэтому Вы можете подключить телефон к компьютеру посредством кабеля и работать в оболочке телефона, как будто вы вводите питоновские команды на самом устройстве. Ниже я опишу как этого добиться.
Для начала запускаем ASE на телефоне, нажимаем меню, выбираем Interpreters, снова нажимаем меню и выбираем start server. Нас спросят какой вариант сервера выбрать - вибираем private.
Далее подключаем телефон к компьютеру с помощью USB кабеля, предварительно убедившись, что на телефоне включен режим отладки по USB (главное меню телефона - настройка - приложения - ставим галочку возле отладка USB). В терминале, на компьютере вводим команду:
./adb  forward tcp:9999 tcp:57622
где 57622 - это порт который ASE  пишет нам в области нотификации телефона. А сам adb находиться в поддиректории tools папки в которую мы распаковали android sdk ( где брать Android sdk и что с ним делать более подробно рассмотрено в статье Установка Android SDK под Ubuntu Linux ).
Если после выполнения данной команды мы видим ошибку error: insufficient permissions for device , то это значит что сначала нам нужно запустить сервер adb от имени root'a. Для этого выполним в терминале следующие команды:
./adb kill-serversudo
./adb start-server
./adb devices
Теперь выполним в терминале следующую команду:
export AP_PORT=9999
Скачиваем android.py отсюда и помещаем в папку где находиться наш adb.
Теперь мы можем запустить интерактивную оболочку питона и введенные нами команды будут выполняться на андроид устройстве. Рассмотрим это более подробно, на следующем примере. Все следующие команды вводим в терминале на компьютере.
python
import androiddroid = android.Android()
droid.makeToast("Hello from my computer!")
После выполнения этих команд мы увидим на экране устройства всплывающее окно с текстом "Hello from my computer!".

Комментариев нет:

Отправить комментарий