Scripting Layer for Android (SL4A)



Реп: (1348)
Scripting Layer for Android (SL4A)
версия: r6

Последнее обновление программы в шапке: 03.02.2013

Прикрепленное изображение

Краткое описание:
Создание и редактирование скриптов прямо на смартфоне под управлением Android.

Описание:
С помощью системы Scripting Layer for Android (SL4A) можно создавать и редактировать скрипты прямо на смартфоне под управлением Android. Компьютера с отдельной средой программирования не потребуется. На том же Android-смартфоне написанные скрипты можно будет протестировать и использовать. SL4A поддерживает языки программирования Python, Lua и BeanShell. Впоследствии будут добавлены также Ruby и JavaScript.

Скрипты SL4A позволяют получать доступ к множеству различных API и создать простой интерфейс для таких базовых задач, как звонки, отправка текстовых сообщений, сканирование штрих-кодов, преобразование текста в речь и других. Фактически, с помощью SL4A разработчики смогут создать на своем устройстве удобные мини-приложения.

Полезные ссылки:
пример скрипта на Lua
--Placing the phone face down will disable the ringer. Turning it face up again will enable
--the ringer.
require "android"
android.startSensing()
android.sleep(1) --Give the sensors a moment to come online.
silent = false
while true do
s = android.readSensors()
facedown = s.result and s.result.zforce and s.result.zforce > 9
if facedown and not silent then
android.vibrate() --A short vibration to indicate we are in silent mode.
android.setRingerSilent(true)
silent = true
elseif not facedown and silent then
android.setRingerSilent(false)
silent = false
end
android.sleep(1)
end

пример скрипта на Python
"""Say chat messages aloud as they are received."""

import android
import xmpp

_SERVER = 'talk.google.com', 5223


class SayChat(object):

def __init__(self):
self.droid = android.Android()
username = self.droid.getInput('Username')['result']
password = self.droid.getInput('Password')['result']
jid = xmpp.protocol.JID(username)
self.client = xmpp.Client(jid.getDomain(), debug=])
self.client.connect(server=_SERVER)
self.client.RegisterHandler('message', self.message_cb)
if not self.client:
print 'Connection failed!'
return
auth = self.client.auth(jid.getNode(), password, 'botty')
if not auth:
print 'Authentication failed!'
return
self.client.sendInitPresence()

def message_cb(self, session, message):
jid = xmpp.protocol.JID(message.getFrom())
username = jid.getNode()
text = message.getBody()
self.droid.speak('%s says %s' % (username, text))

def run(self):
try:
while True:
self.client.Process(1)
except KeyboardInterrupt:
pass

saychat = SayChat()
saychat.run()


Домашняя стр.: http://code.google.com/p/android-scripting/
Репозиторий проекта

Скачать:
Версия r6: http://4pda.to/forum/dl/post/2164966/sl4a_r6.apk

прошлые версии


Сообщение отредактировал Slav_nsk - 29.10.16, 05:50
Причина редактирования: Ссылка



Реп: (1348)
Обновилась до 0.9 aplha



Реп: (1348)
Обновилось до 0.10-2.



Реп: (1348)
r16: Прикрепленный файлase_r16.apk ( 139.87 КБ )



Реп: (15)
Что r24, что r25 не хочет устанавливаться на мой Legend. Пишет "Приложение не установлено" и всё :(



Реп: (0)
Тоже не ставится. HTC Desire



Реп: (0)
После каких-то системных обновлений на легенде встало.
Пока не вижу какого-то практического применения.
Позабавил http-сервер на питоне под ASE :)



Реп: (12)
На Milestone установилось, но не запускается :(



Реп: (0)
Вышла версия r25
Теперь поддерживаются Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, и shell, а разработчики говорят что будет ещё

Прикрепленные файлы

Прикрепленный файлase_r25.apk ( 221.84 КБ )



Реп: (108)
сорри за глупый вопрос... как вписать в шелл - чтоб из-под рута запускал команду? :blush:



Реп: (1)
dimon1983 @ 30.7.10, 20:16 *
как вписать в шелл - чтоб из-под рута запускал команду?

"su" - все следующие команды будут из под рута.
Кому-нибудь удалось использовать JavaScript?
У меня кучу ошибок пишет и не выполняется.



Реп: (19)
dimon1983,
Читай об этом в факе.



Реп: (108)
ilkka,
так не работает... пробовал ;)
работает если написать так
su -c "busybox mount -t cifs //192.168.*.*/share /sdcard/samba -o username=your_username,password=your_pwd,iocharset=utf8"


brunen9,
читал я там... только не очень я с англицким :blush:



Реп: (1)
dimon1983 @ 31.7.10, 16:10 *
так не работает... пробовал

Хмм... возможно.
Я проверил простым выводом user id, там сказало root, дальше проверять не стал.

Добавлено:
#!/system/bin/sh
if [ "$1" == "1" ]; then

#COMMANDS UNDER ROOT

else
echo -e "Getting root privileges\n"
su -c "/system/bin/sh $0 1"
fi

Вот это точно работает на спике в рутовом режиме.
Предложенный пример из комментариев к FAQ работать не хочет. Хотя я не очень настаивал :)

Сообщение отредактировал ilkka - 31.07.10, 18:03



Реп: (4)
подскажите как поставить сюда перл и питон. просто скачать apk с сайта и запустить не получается, ошибку дает

Сообщение отредактировал anisimovn - 25.08.10, 23:19



Реп: (101)
В программе нажимаем кнопку меню, выбираем view далее Interpreters, снова меню, и кнопку Add. Далее выбираем нужный нам скриптовый язык и загружаем его. Нужен Интернет на девайсе.



Реп: (4)
Что то у меня ниPyton, ни Perl? ни даже sh не срабатывает, вот Lua и Jruby норм, есть еще у кого такие проблемы????



Реп: (0)
PHP не работает!

у меня такой маразм:
getScreenBrightness()
видает к примеру 30!
потом делаем так:
setScreenBrightness(150)
потом
getScreenBrightness()
видает150!
А яркость экрана не изменяется!
Только после возврата из режима ожидания (нажатием на кнопку ON) экран меняет яркость.

вопрос: Что я должен сделать чтобы экран изменил яркость после setScreenBrightness(150) без нужды возврата из режима ожидания!?!?

Сообщение отредактировал tvicpe - 16.09.10, 11:36



Реп: (33)
Huawei u8230 в пролете :happy: ... пишет мол ошибка установки и вообще какая прошивка нужна под нее? 2.2? есле да то нам скоро дадут оф 2.2 под хуавэй!

Сообщение отредактировал снурк - 21.09.10, 22:17



Реп: (0)
А есть ли способ вручную установить на сотовый Lua interpreter, не прибегая в скачиванию из интернета?

Сообщение отредактировал RaTyS - 12.10.10, 18:48
Причина редактирования: Lua interpreter



Реп: (2)
Прога переросла в другую прогу, счас она называется SL4A, качается с той же домашней страницы там же качаете апк загрузчика интерпритатора языка или шелл, который вы хотите установить на своем зверьке. Сначала установите прогу затем запустите загрузчик языка–он подкачает из инета файлы (питон чуть больше 4 метров), затем в самой проге через Add добавите что вы загрузили. На оф.проше 2.1 с рутом полет нормальный


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 28.03.24, 19:03