Как сделать скрипт на телефоне


Android Script Creator - Создание скриптов (update.zip) для Android


Android Script Creator — Создание скриптов (update.zip) для Android. Данная статья будет интересная для пользователей Android устройств, с кастомным рекавери. Первое что хочу отметить, программа за вас все сделать не сможет, поэтому предается использовать мозг и Google :D

Нам потребуется:

  1. Идея!
  2. Желание!
  3. Прямые руки
  4. Программа — Android Script Creator
  5. Поисковая система (ну а мало-ли вдруг)

Начнем!

Скрипт:

Скачиваем программу, распаковываем ее куда нибудь, желательно с коротким путем, например «D:ASC».
Запускаем программу и видим следующее:

Android Script Creator

Как вы могли заметить, я уже вставил в программу скрипт. Данный скрипт очищает статус батареи на Motorola Razr Maxx, конкретно у меня Motorola XT912.
Сам скрипт:

# Created by Octanium (Octanium91 on XDA)
# Wiping battery for Motorola RAZR
# =)
ui_print("--------------------------------------------------------------");
ui_print("| ~ Wiping battery status for Motorola RAZR ~ |");
ui_print("| Created by Octanium in Android Script Creator! |");
ui_print("--------------------------------------------------------------");
ui_print(«Mount data ...»);
mount(«ext3», «EMMC», "/dev/block/userdata", "/data");
ui_print(«Clean folder: battd ...»);
delete_recursive("/data/battd");
ui_print(«Delete file: batterystats.bin ...»);
delete("/data/system/batterystats.bin");
ui_print(«Delete file: batterystats-checkin.bin ...»);
delete("/data/system/batterystats-checkin.bin");
ui_print(«Unmount data ...»);
unmount("/data");

Подробней о командах:

# — все что дальше этого знака рекавери выполнять не будет, т.к. это комментарий
ui_print — выдает сообщение на экран, синтаксис ui_print(«- Сообщение -«);
mount — монтирует раздел, для того что-бы к нему был доступ. У разных моделей смартфонов, разные параметры для монтирования! У меня это mount(«ext3», «EMMC», «/dev/block/userdata», «/data»);, для раздела Data
delete_recursive — рекурсивное удаление, удаляет все файлы в папке, синтаксис delete_recursive(«- путь к папке -«);
delete — удаляет файл, синтаксис delete(«- путь к файлу -«);
unmount — размонтирует раздел, синтаксис unmount(«- раздел -«);


В любом случае скрипт вы можете выдрать даже с какого-то форума, потом вставить в программу. Информации касательно того как правильно писать скрипт в интернете достаточно.

Сборка скрипта:

Жмем на кнопку с лева «Сборка».
И видим следующее:

Android Script Creator

Принципе здесь можно все так и оставить, как вариант можете поменять имя скрипта с стандартного «Update» на другое (дописывать формат вот так «Update.zip» не нужно, просто пишите «Update»), или путь куда программа будет сохранять ваши скрипты. Когда наберетесь опыта и знаний будите менять вообще все опции =).

А мы просто жмем на кнопку «Собрать».
И видим следующие:

Android Script Creator

Вот и все! Закидываем скрипт в память смартфона и пробуем шить.

Если скрипт не работает: гуглим, пробуем собирать еще раз (с другими опциями), корректируем скрипт.

Надеюсь эта информация была кому-то полезна. Спасибо за внимание!


Добрый день.

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

Теперь же многие из нас обзавелись смартфонами, управляемыми ОС Android, которая, как известно, создана на базе ядра Linux.
А одной из отличительных особенностей GNU/Linux является bash — одна из наиболее популярных современных разновидностей командной оболочки UNIX.

Цитата: Advanced Bash-Scripting Guide

Shell — это командная оболочка. Но это не просто промежуточное звено между пользователем и операционой системой, это еще и мощный язык программирования. Программы на языке shell называют сценариями, или скриптами. Фактически, из скриптов доступен полный набор команд, утилит и программ Unix. Если этого недостаточно, то к вашим услугам внутренние команды shell — условные операторы, операторы циклов и пр., которые увеличивают мощь и гибкость сценариев. Shell-скрипты исключительно хороши при программировании задач администрирования системы и др., которые не требуют для своего создания полновесных языков программирования.

Вооружаемся всем необходимым:

  • во-первых, нам нужно получить права пользователя root;
  • во-вторых, нам нужен эмулятор терминала — этот (требует Android 1.5+) или любой другой;
  • в-третьих, нам нужен BusyBox — набор UNIX-утилит командной строки — этот (требует Android 1.6+) или любой другой;
  • в-четвёртых, нам пригодится текстовый редактор — этот (требует Android 1.6+) или любой другой.

Опционально можно поставить

модифицированный bash

, положив его в

/system/bin/

.

Итак, весь необходимый софт установлен. Запустив эмулятор терминала, попробуем выполнить какую-нибудь команду, например, посмотрим информацию о системе:

sh-4.1$ uname -a
Linux localhost 2.6.35.7-CL709629 #10 PREEMPT Fri Apr 13 18:06:10 IST 2012 armv7l GNU/Linux

Особой пользы нам эта команда не принесла, попробуем выполнить что-нибудь более полезное.

Подробнее о командах вы можете узнать, например, в том же самом Advanced Bash-Scripting Guide или спросить у наших линуксоидов .

Наверное, сейчас нам пригодится новый пароль из, допустим, 30 случайно взятых символов (букв, цифр и знаков препинания):

sh-4.1$ tr -cd '[:punct:]+[:alnum:]' < /dev/urandom | fold -w30 | head -n1
{EMn!v'u<AqcAH'YD/U6bQ?>dS!W^d

 Скриншот

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

#!/system/bin/bash

tr -cd '[:punct:]+[:alnum:]' < /dev/urandom | fold -w $1 | head -n1 > /sd/pwd.txt
echo "Check /mnt/sdcard/external_sd/pwd.txt"

 Скриншот

Скрипт написан и сохранён. Пытаемся его выполнить, но результат не радует:

sh-4.1$ /sd/pwg.sh 15
sh: /sd/pwg.sh: Permission denied

А всё потому, что у нас карта памяти отформатирована в файловой системе FAT. (Есть предположение, что на носителе с файловой системой ext4 всё заработает искаропки). Посему кладём наш скрипт в

/system/xbin/

, не забыв после этого разрешить системе его выполнение командой

chmod 777 /system/xbin/pwg.sh

или с помощью вашего любимого файл-менеджера.

Запускаем скрипт:

sh-4.1$ pwg.sh 50
Check /mnt/sdcard/external_sd/pwd.txt

 Скриншот

Всё работает, задача выполнена.

 Скриншот

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

здесь

.

The End.

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

Первое что хочу отметить, программа за вас все сделать не сможет, поэтому предается использовать мозг и Google :D

Нам потребуется:

  1. Идея!
  2. Желание!
  3. Прямые руки
  4. Программа — Android Script Creator
  5. Поисковая система (ну а мало-ли вдруг)

Начнем!

Скрипт:

Скачиваем программу, распаковываем ее куда нибудь, желательно с коротким путем, например «D:ASC».

Запускаем программу и видим следующее:

Создание update-script для Android в пару кликов мышки

Как вы могли заметить, я уже вставил в программу скрипт.

Данный скрипт очищает статус батареи на Motorola Razr Maxx, конкретно у меня Motorola XT912.

Сам скрипт:

# Created by Octanium (Octanium91 on XDA)
# Wiping battery for Motorola RAZR
# =)
ui_print(«—————————————————————«);
ui_print(«| ~ Wiping battery status for Motorola RAZR ~ |»);
ui_print(«| Created by Octanium in Android Script Creator! |»);
ui_print(«—————————————————————«);
ui_print(«Mount data …»);
mount(«ext3», «EMMC», «/dev/block/userdata», «/data»);
ui_print(«Clean folder: battd …»);
delete_recursive(«/data/battd»);
ui_print(«Delete file: batterystats.bin …»);
delete(«/data/system/batterystats.bin»);
ui_print(«Delete file: batterystats-checkin.bin …»);
delete(«/data/system/batterystats-checkin.bin»);
ui_print(«Unmount data …»);
unmount(«/data»);

Подробней о командах:

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

ui_print — выдает сообщение на экран, синтаксис ui_print(«- Сообщение -«);

mount — монтирует раздел, для того что-бы к нему был доступ. У разных моделей смартфонов, разные параметры для монтирования! У меня это mount(«ext3», «EMMC», «/dev/block/userdata», «/data»);, для раздела Data

delete_recursive — рекурсивное удаление, удаляет все файлы в папке, синтаксис delete_recursive(«- путь к папке -«);

delete — удаляет файл, синтаксис delete(«- путь к файлу -«);

unmount — размонтирует раздел, синтаксис unmount(«- раздел -«);

В любом случае скрипт вы можете выдрать даже с какого-то форума, потом вставить в программу. Информации касательно того как правильно писать скрипт в интернете достаточно.

Сборка скрипта:

Жмем на кнопку с лева «Сборка».

И видим следующее:

Создание update-script для Android в пару кликов мышки

Принципе здесь можно все так и оставить, как вариант можете поменять имя скрипта с стандартного «Update» на другое (дописывать формат вот так «Update.zip» не нужно, просто пишите «Update»), или путь куда программа будет сохранять ваши скрипты. Когда наберетесь опыта и знаний будите менять вообще все опции =).

А мы просто жмем на кнопку «Собрать».

И видим следующие:

Создание update-script для Android в пару кликов мышки

Вот и все! Закидываем скрипт в память смартфона и пробуем шить.

Если скрипт не работает: гуглим, пробуем собирать еще раз (с другими опциями), корректируем скрипт.

Надеюсь эта информация была кому-то полезна. Спасибо за внимание!

П.С. это моя первая статья, прошу прощение если что-то не так.

Предисловие.

AnkuLua — приложение для Android, позволяющее создавать ботов с использованием сканирования экрана телефона. Данная программа, почти, полная копия SikuliX, поэтому, если вы читали предыдущую статью, вы найдете много общего. К тому же, она не требует root.

Подготовка

Сперва скачайте и установите эти 3 программы:

  • QuickEdit — удобный редактор кода
  • ScreenMaster — программа для создания скриншотов
  • AnkuLua — программа для запуска ботов

Далее, в папке с вашим будущим ботом, создайте lua скрипт(текстовый файл с расширением .lua) и папку image.

  • В папке image, будут хранится изображения, которые бот будет искать на экране.
  • Lua скрипт будет содержать код бота.

Теперь, откройте AnkuLua, и запустите созданный Lua скрипт.

Далее, с помощью QuickEdit откройте Lua скрипт бота. Подготовка завершена, время написать Hello World.

Пишем Hello World (v1).

В Lua скрипт, пропишите следующий код.

print("hello world")

Сохраните и запустите скрипт, нажатием на кнопку проигрывания.

В итоге, получили сообщение на экране.

Пишем Hello World (v2).

Можно написать Hello World и так.

type("hello world")

Тогда, hello world, напечатается в активном окне.

Настраиваем Screen Master.

Сперва настроим ScreenMaster. В настройках выберите:

  • Формат изображения — PNG
  • Качество изображения — 100%.

Т.к. бот будет искать картинку на экране, картинка должна быть максимального качества.

Скриншоты с этой программы, будут помещаться в папку ScreenMaster.

Кликаем по картинке.

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

Сначала, обрежьте его картинку, примерно вот так:

Важно, не задевать элементы фона, иначе бот не сможет найти картинку.

Далее, переместите эту картинку в папку image в директории бота и переименуйте в qe.png (для удобства).

В Lua скрипте, пропишите следующее:

click("qe.png")

Сохраните и запустите скрипт. Если скрипт найдет картинку, то он кликнет по ней, и откроет программу.

Подсвечиваем цель.

Точно так же как и SikuliX, здесь можно подсвечивать регион. Измените код на это:

btn = find("qe.png")
btn:highlight(2)
click(btn)

Разберемся как этот код работает.

  1. В начале я с помощью функции find, нашел регион в котором находится наша картинка.
  2. Далее, подсветил этот регион с помощью функции highlight на 2 секунды.
  3. И кликнул по нему.

В итоге, получили красную рамку на 2 секунды возле картинки.

Создаем диалог.

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

Перепишите следующий код.

function mainMenu()
  rg1 = 0 --переменная в которой будет хранится индекс выбранной радио-кнопки
  dialogInit() --создаем окно диалога
  addTextView("Text View") --Добавляем в него текстовую строку
  newRow() --переходим на следующий ряд
  addRadioGroup("rg1", 0) -- создаем радио группу, значение выбранной кнопки записывается в rg1, если ничего не выбрано, rg1 = 0
  addRadioButton("Choice 1", 1) --если выбрал "Choice 1" то rg1 = 1
  addRadioButton("Choice 2", 2) --если выбрал "Choice 2" то rg1 = 2
  dialogShow("TestBot") --Выводим диалог на экран, передавав название "TestBot"
end

mainMenu() --вызываем функцию создания диалога

Весь код я объяснил в комментариях (—).

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

function mainMenu()
  rg1 = 0 --переменная в которой будет хранится индекс выбранной радио-кнопки
  dialogInit() --создаем окно диалога
  addTextView("Text View") --Добавляем в него текстовую строку
  newRow() --переходим на следующий ряд
  addRadioGroup("rg1", 0) -- создаем радио группу, значение выбранной кнопки записывается в rg1, если ничего не выбрано, rg1 = 0
  addRadioButton("Choice 1", 1) --если выбрал "Choice 1" то rg1 = 1
  addRadioButton("Choice 2", 2) --если выбрал "Choice 2" то rg1 = 2
  dialogShow("TestBot") --Выводим диалог на экран, передавав название "TestBot"
  if rg1 == 1 then
    doSomething1()
  end
  else if rg1 == 2 then
    doSomething2()
  end
end

mainMenu() --вызываем функцию создания диалога

Где, doSomething1 и doSomething2, функции отвечающие за нужные вам действия.

Узнаем координаты нажатия.

В AnkuLua есть функция getTouchEvent, которая ждет пока ты нажмешь на экран, после чего выводит информацию о нажатии. Из всей этой информации, нам понадобятся только координаты.

Перепишите этот код:

function showTouchCoords()
  local action, locTable, touchTable = getTouchEvent()
  print(locTable)
end

Теперь, при вызове функции showTouchCoords, экран подсветится желтым.

И после касания, выведет координаты нажатия.

Кликаем на координаты.

Чтобы кликнуть по координатам, нужно передать Location в функцию click.

click(Location(500,500))

Данная комманда, кликает на координаты 500, 500.

Прочие функции.

Здесь я распишу остальные функции которые вам могут понадобится в написании бота.

  • toast(текст) — показывает всплывающее сообщение снизу.
  • exists(картинка) — возвращает True, если картинка найдена.
  • wait(картинка) — ждет появления картинки.
  • keyevent(4) — нажимает кнопку назад.
  • keyevent(3) — жмет кнопку домой.
  • keyevent(187) — жмет кнопку переключения приложений.
  • swipe — свайп по экрану.

Подробная информация в документации.

Итоговый результат.

Не пропустите также:

  • Как сделать слайд шоу на телефоне
  • Как сделать скриншоты экрана телефона
  • Как сделать скриншоты на телефоне редми
  • Как сделать скрытый номер на фениксе
  • Как сделать скрытый номер на самсунге


  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии