Несколько дней назад, 13 января, Erik Reitsma анонсировал в рассылке erlang-questions созданный им порт Erlang для Android. Этого порта нет (пока что) в Google Play, но его не сложно установить вручную. Для этого требуется только разрешить устанавливать приложения из неизвестных источников в настройках Android’а. Рутить устройство не нужно.

Итак, приступим:

  1. Подключаемся с Android-устройства к Wi-Fi, нам понадобится хороший интернет;
  2. Заходим на http://code.google.com/p/android-scripting/ , скачиваем и устанавливаем sl4a_r6.apk из раздела Downloads;
  3. Затем идем на http://code.google.com/p/erlang4android/ и делаем то же самое для ErlangForAndroid.apk, а также скачиваем fac_example.zip;
  4. Запускаем приложение Erlang4Android, нажимаем большую кнопку «Install» и ждем, пока загрузится и установится весь Erlang/OTP;
  5. Открываем приложение SL4A и проверяем, что в списке интерпретаторов появится Erlang (если не появился, значит он еще распаковывается);
  6. Берем client.erl из fac_example.zip и кладем его в /sl4a/scripts/ (если у вас не установлено архиватора и/или файлового менеджера, поищите в Google Play, их там полно)
  7. На ноутбуке, подключенном к тому же Wi-Fi, берем server.erl из fac_example.zip и говорим erlc server.erl , erl -pa . / , а затем server: start ( ) . ;
  8. На телефоне/планшете через SL4A запускаем client.erl, вводим IP-адрес ноутбука и какое-нибудь число, жмем кнопку «Fac!»;

Если все было сделано правильно, мы увидим факториал введенного числа:

При запуске программы на Erlang через SL4A, управление передается в функцию main / 0 . Если в том же каталоге еще нет соответствующего beam-файла, он создается (на данный момент при изменении программы beam-файл приходится удалять вручную). При необходимости, в той же директории, где находится скрипт, компилируются другие erl-файлы, а также подгружаются beam’ы. Взаимодействие с API Android’а происходит через модуль android. Помимо него нам также доступны все стандартные средства Erlang’а.

Ссылки по теме:

Помимо игрушечных скриптов с помощью Erlang4Android можно писать и вполне полезные вещи. Например, можно написать gen_server , отправляющий SMS-сообщения . Или, скажем, тестирующий скорость загрузки сайтов по мобильному интернету. В общем, применений Erlang4Android при желании можно найти немало.

admin

Share
Published by
admin

Recent Posts

Настройка Mercurial по HTTPS

Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал…

3 недели ago

Компиляция libvirt в Ubuntu

Компиляция libvirt Подробнее

3 недели ago

Ошибка libvirt permission denied: решение

Если возникает ошибка libvirt destroy lxc permission denied , при попытке остановить контейнер: _x000D_# virsh…

3 недели ago

Настройка редиректа в NGINX

Файлы с примерами редиректа для nginx Подробнее

3 недели ago

Включение gzip в NGINX

Как включить gzip сжатие в Nginx ? Подробнее

3 недели ago

Удаление postinst-скрипта в Linux

Иногда возникает ситуация, когда криво настроенные пакеты не устанавливаются в системе. У меня это произошло…

3 недели ago