- Эти приложения для Android помогут автоматизировать всё
- Tasker
- AutomateIt
- Automate
- Droid Automation
- MacroDroid
- Automagic * Automation
- Contextual App Folder (C.A.F.)
- E-Robot
- Гармония скриптов внутри Android приложения
- Все скрипты для android
- Скрипты-твики для init.d
- Общая информация:
- Твики скорости интернет-соединения
- Твики управления памятью виртуальной машины
- Твики ядра
- Увеличиваем время жизни аккумулятора
- Твик скорости чтения sd-карты(увеличение кеша карты)
- Дефрагментация файлов баз данных?
- Отключаем логгеры(не будут записываться лог-файлы)
- Твики управления кэша
- Твики процессора
- Перенос dalvik-кеша в раздел cache, чтобы разгрузить раздел data
- Удаление кэша, tmp-файлов и прочего мусора
- Изменение приоритета процессов-только стандартных
Эти приложения для Android помогут автоматизировать всё
Благодаря открытости для разработчиков Android может предложить своим пользователям функции, которых нет ни в одной другой мобильной ОС. Для каждой задачи существует множество приложений на любой вкус. В этот раз я расскажу о нескольких программах для автоматизации действий на смартфоне.
Tasker
Конечно, начать пост об автоматизации действий на Android нельзя ни с одного другого приложения. Tasker — одна из самых мощных, продвинутых и популярных программ в этой категории.
С её помощью можно не только автоматизировать работу сенсоров смартфона, добавлять пользовательские сценарии и тому подобное. С помощью Tasker можно управлять умными устройствами в доме. Вот лишь небольшой список примеров таких задач:
- Блокировка приложений;
- Управление настройками смартфона в зависимости от условий;
- Чтение сообщений вслух;
- Автозапуск приложений при подключении внешних устройств;
- Управление звуковыми профилями и звонками.
Кроме этого, программа может быть расширена при помощи огромного набора плагинов к ней. Единственный минус — Tasker стоит аж целых 100 рублей 😳.
AutomateIt
AutomateIt я бы порекомендовал тем, кто хочет иметь всю мощь Tasker, но при этом не смог справиться со сложными настройками. AutomateIt, как и конкурент, поддерживает пользовательские плагины и может управлять настройками смартфона по определённым сценариям.
Я предпочитаю именно эту программу другим альтернативам. Русский язык, простая и понятная настройка сценариев и множество параметров работы.
Сама программа бесплатна, а вот за готовые правила придётся заплатить. Но это нужно будет, если вам самому лень настраивать их.
Automate
Automate — хорошая альтернатива программам выше. Её основная особенность заключается в том, что правила настраиваются в виде диаграммы. Такое визуальное представление может быть для кого-то более простым и понятным. При этом для каждого блока диаграммы можно настроить несколько веток и объединять различные шаги в зависимости от условий.
Ещё программа бесплатна и поддерживает плагины от Tasker и Locale.
Droid Automation
Droid Automation поставляется в двух версиях: Pro за 190 рублей и бесплатной. В бесплатной версии недоступна работа с Root-девайсами.
Особых «фишек» у этой программы нет. Вы так же можете создавать различные сценарии автоматизации, управлять сенсорами и программами. Но все сценарии здесь разделены на профили, а не свалены в одну кучу. Профили можно активировать автоматически или с помощью виджетов на главном экране.
Для рут-боев доступны сценарии, включающие действия для смартфонов с рут-доступом.
MacroDroid
MacroDroid — это, пожалуй, самая юзер-френдли программа из всех. Красивый и понятный русскоязычный интерфейс поможет быстро настроить сценарии использования при помощи специального мастера, который проведёт по всем шагам.
Кроме этого, для популярных сценариев в программе сразу же предусмотрены шаблоны. А продвинутые пользователи смогут расширить возможности MacroDroid с помощью плагинов и условий вроде ЕСЛИ, ТОГДА, ИЛИ и других.
Automagic * Automation
Ищете альтернативу Automate? Automagic * Automation — и есть такая альтернатива за 113 рублей. И на самом деле, сказать что-то ещё про это приложение сложно. Вы так же настраиваете сценарии, указываете условия и действия. Всё это представлено в виде диаграмм с возможностью разветвления.
Contextual App Folder (C.A.F.)
C.A.F. нельзя назвать полноценной программой для автоматизации действий и работы устройства. «Фишка» приложения в контекстуально-зависимых папках с приложениями.
Во время первоначальной настройки вы разбиваете все (нужные) приложения на смартфоне по категориям. Например, дома вам нужен один набор программ, на работе — другой, а во время занятий спортом — третий. После этого Contextual App Folder при помощи одного из триггеров (геолокация, Wi-Fi, Bluetooth) автоматически будет создавать на рабочем столе папку с нужными приложениями.
E-Robot
E-Robot является прямой альтернативой Tasker и AutomateIt. Но, в отличие от них, сценарии оперируют таким понятием, как команда. На самом деле, от смены названия ничего не меняется, и вы всё так же создаёте различные сценарии в зависимости от наступающих событий.
Команды понадобятся лишь тем, кто знаком с JavaScript. Да, E-Robot может выполнять скрипты.
Если покопаться в Google Play, можно найти ещё с десяток подобных программ. Я в свой пост включил лишь самые лучшие или популярные из них. К тому же я опирался на возможность создания комплексных сценариев с различными результатами и максимальной автоматизацией.
Но если вы просто хотите включать автоматически музыку при подключении наушников, выключать звонки на работе, то для этого можно скачать более простые программы. Которые в один тап настраивают такие сценарии. Например, Profile Manager.
Источник
Гармония скриптов внутри Android приложения
Думаю, многие читатели хаба по android-разработке слышали, что Java позволяет в рантайме через ClassLoader модифицировать dex уже установленного приложения. С помощью этого можно в рантайме подгружать скомпилированный код и использовать его. Но Google к таким махинациям относится, мягко говоря, не слишком лояльно и банит уличённые в подобном приложения.
Однако есть альтернативные способы загрузки и выполнения скриптов на мобильном устройстве. За подробностями под кат!
Итак, хотя мы не можем обновлять dex приложения в рантайме, мы можем воспользоваться интерпретаторами скриптовых языков, которые написаны целиком на Java. Так Oracle, начиная с 6 версии, включает javascript движок Rhino в состав JVM. Произошло это благодаря реализации спецификации JSR-223, которая декларирует поддержку в Java скриптовых языков программирования.
На текущий момент существует несколько встраиваемых движков для таких популярных языков программирования как: Lua (Luaj), Python (Jython), Ruby (Jruby) и java-script (Rhino, . ). Каждый из них позволяет как выполнять скрипты, так и обращаться к функциям, написанным на Java.
В качестве демонстрации возможностей я предлагаю реализовать “среду” разработки. Ссылку на исходники оставлю в конце статьи. Чтобы не загромождать пример, остановлюсь на Lua, хотя, ничто не мешает подключить все движки одновременно и переключаться между ними. Актуальная на момент написания статьи версия JLua доступная в mvnrepository: org.luaj:luaj-jse:3.0.1.
Каждая уважающая себя среда разработки должна иметь поле для ввода скрипта, поле для отображения результата и кнопочку, позволяющую выполнить своё детище.
UI уважающей себя среды разработки:
Для того, чтобы выполнить Lua-скрипт, нам надо получить глобальное окружение, в котором он будет выполняться, — Globals. Luaj позволяет настраивать его, например, устанавливая переменные или добавляя биндинги на Java-классы. Важной возможностью для нас тут будет задание потоков вывода сообщений, потому что по-умолчанию используется java.lang.System.out, java.lang.System.err, что не совсем удобно, когда нужно вывести результат выполнения в TextView. Чтобы это изменить нужно переопределить значения Globals#STDOUT и Globals#STDERR.
Таким образом, теперь нам остаётся только загрузить наш скрип в окружение и выполнить его.
Так это выглядит в моем примере:
Теперь попробуем расширить набор доступных функций возможностью показать Toast, используя упомянутую привязку Java классов. Сделать это легко, используя CoerceJavaToLua:
Результат у меня получился такой:
Таким образом, на небольшом примере мы рассмотрели возможность выполнения скриптов внутри мобильного приложения. Пытливый читатель может догадаться, что скрипты можно загружать из ассетов, ресурсов приложения или с сервера. Что может быть полезным, например, в играх. Благо, luaj совместима с одним из самых популярных игровых java фреймворков — Libgdx. В целом, сфера применения тут ограничивается только фантазией разработчика.
Источник
Все скрипты для android
По функционалу программы:
— При первом запуске было бы хорошо если б программа определяла свое место положение, а не C:\****
— Лучше если б папки «входящие файлы» (добавляем файлы) и «исходящие файлы» (сохраняем архив) были б созданы сразу. Ну и путь к ним сразу определился
— Заполненные параметры «пути» в закладках Файлы и Сборка — иногда сбрасываются при переходе между этими закладками
— Непонятно для чего кнопка «сохранить» в закладке Скрипт
— Сделать выбор бинарника, т.к. они не 100% универсальны
— Расширить варианты выбора скриптов
Пожелания по удобству использования:
— чтоб исключить синтаксические ошибки — ввести выделение красным отсутствие символа в команде, т.е. выделять ошибки
— на примере http://www.softportal.…ad-fisherman-big-4.gif хотелось бы.
а) список скриптов и их описание сбоку, а не в выпадающем меню
б) выделение команды одним цветом, а значения — другим (гораздо удобнее)
— сделать другую компоновку кнопок, поле скрипта и свободного места в окне программы, а именно более компактней. т.к. очень много пустого места, а при написании скрипта на экране много других окон открыто, которые не хотелось бы перекрывать.
— назвать исполняемый файл согласно названию программы (непонятно почему ACC)
— убрать из корня папки программы весь «мусор», закинуть его в отдельную папку. оставить лишь запуск программы и папки «входящие», «исходящие».
— для закладки Файлы — при нажатии кнопки «добавить» создавался бы список файлов, которые уже добавили (т.е. отображение того что в итоге будет записываться в скрипт)
Спасибо за начало разработки такой полезной программы.
Выше написал от себя пожелания, исходя из опыта работы в других программах (Notepad++, HtmlPad FisherMan). Правда еще не пробовал работу скрипта на планшете.
Также стоит Вам отписаться в теме Android update-script для привлечения людей к тестированию.
Для связывания тем — добавлю ссылку на эту тему в топик Android update-script , можно взаимно )
Новая версия, от 12-04-2014 Скачать
Версия: 1.0 BETA Android_Script_BETA.zip ( 7.3 МБ )
Добавлено:
1. Выбор бинарника. (свой бинарник пока что нельзя выбрать, но в будущем можно будет и выбирать)
2. Добавлено описание к командам и примеры.
3. На странице «Скрипт», напротив синтаксиса команды, добавлена кнопка «Добавить». Вы можете отредактировать синтаксис команды, нажав кнопку «Добавить» программа добавит строчку с вашей командой в скрипт.
4. Имя программы изменено.
Отвечаю на вопросы:
На стадии бета тестирования такого не будет, программа запоминает последний вобранный путь (после сборки), или в файле sfdata.ini вы сами можете указать пути которые вам удобны.
он подтягивается с файла sfdata.ini, после добавления файлов программа запоминает путь.
когда вы собрали апдейт, временная папка вместе с файлом скрипта удаляется, для того что-бы собрать новый апдейт, необходимо на вкладке «Скрипт» нажать «Сохранить», для того что-бы создался файл скрипта. (в будущем исправлю этот баг)
Шаблоны будут, но позже. Или вы имеете что-то другое?
на дынный момент, эта программа пишется на движке AMS, и у него нет синтексеса, если он появится добавлю синтаксис.
Пока это бета версия, мусор будет.
Возможно, но это бета тестирование. Пока что уделять этому время не буду. Когда программа покажет результат, примусь за внешний вид))) и все красивости.
Вопрос, какие шаблоны добавить в программу?
Вроде-бы нечего не забыл)
Спасибо за внимание 🙂
Сообщение отредактировал vadeus — 13.04.14, 08:04
Новая версия, от 13-04-2014 Скачать
версия: 1.0 BETA Android_Script_BETA.zip ( 7.62 МБ )
Добавлено:
1. Добавлен «Статус сборки» ( теперь будет видно что пошло не так)
2. Исправлены некоторые ошибки
3. В блок «О программе» добавлены ссылки на обсуждения.
4. Добавлен бинарник «ROM CyanogenMod 10.1 Android 4.2.2 (09-07-2013)» т.к. он хорошо работает с старыми рекавери CyanogenMod
Источник
Скрипты-твики для init.d
Данные скрипты-твики для init.d призванны улучшить работу гуглофона и настроить его под свои нужды. Для работы твиков необходима поддержка init.d прошивкой вашего аппарата, а также BusyBox. Однако, поддержку init.d можно эмулировать с помощью таких программ как mcTweaker или Script Manager , включив соответствующие пункты в программах. Причем в mcTweaker реализовано множество твиков для вашего аппарата.
Напомню, что в кастомных прошивках BusyBox может быть установлен, да и многие твики уже реализованы!
Все Вы делаете на свой страх и риск! Для манипуляций нужен root-доступ!
Общая информация:
Скрипты-твики необходимо класть по пути /system/etc/init.d/:
Для редактирования/добавления/удаления скриптов я пользовался Root Explorer.
Если у Вас нет папки init.d, то значит скрипты работать не будут 100%!
Каждый файл скрипта начинается со строчки:
Далее вставляется код твика, например:
1
echo «500» > /proc/sys/vm/dirty_expire_centisecs
2
echo «1000» > /proc/sys/vm/dirty_writeback_centisecs
Образец файла скрипта
#!/system/bin/sh
echo «500» > /proc/sys/vm/dirty_expire_centisecs
echo «1000» > /proc/sys/vm/dirty_writeback_centisecs
Каждый твик оформляется отдельным файлом! Все твики в один файл не кладем! Файл скрипта называем по-любому, но так чтобы сами могли распознать их, например, Battery_tweak — твик аккумулятора.
Твики скорости интернет-соединения
echo «0» > /proc/sys/net/ipv4/tcp_timestamps;
echo «1» > /proc/sys/net/ipv4/tcp_tw_reuse;
echo «1» > /proc/sys/net/ipv4/tcp_sack;
echo «1» > /proc/sys/net/ipv4/tcp_tw_recycle;
echo «1» > /proc/sys/net/ipv4/tcp_window_scaling;
echo «5» > /proc/sys/net/ipv4/tcp_keepalive_probes;
echo «30» > /proc/sys/net/ipv4/tcp_keepalive_intvl;
echo «30» > /proc/sys/net/ipv4/tcp_fin_timeout;
echo «404480» > /proc/sys/net/core/wmem_max;
echo «404480» > /proc/sys/net/core/rmem_max;
echo «256960» > /proc/sys/net/core/rmem_default;
echo «256960» > /proc/sys/net/core/wmem_default;
echo «4096, 16384, 404480» > /proc/sys/net/ipv4/tcp_wmem;
echo «4096, 87380, 404480» > /proc/sys/net/ipv4/tcp_rmem;
Твики управления памятью виртуальной машины
echo «4096» > /proc/sys/vm/min_free_kbytes
echo «0» > /proc/sys/vm/oom_kill_allocating_task;
echo «0» > /proc/sys/vm/panic_on_oom;
echo «0» > /proc/sys/vm/laptop_mode;
echo «0» > /proc/sys/vm/swappiness
echo «50» > /proc/sys/vm/vfs_cache_pressure
echo «90» > /proc/sys/vm/dirty_ratio
echo «70» > /proc/sys/vm/dirty_background_ratio
Твики ядра
echo «8» > /proc/sys/vm/page-cluster;
echo «64000» > /proc/sys/kernel/msgmni;
echo «64000» > /proc/sys/kernel/msgmax;
echo «10» > /proc/sys/fs/lease-break-time;
echo «500, 512000, 64, 2048» > /proc/sys/kernel/sem;
Увеличиваем время жизни аккумулятора
echo «500» > /proc/sys/vm/dirty_expire_centisecs
echo «1000» > /proc/sys/vm/dirty_writeback_centisecs
Твик скорости чтения sd-карты(увеличение кеша карты)
echo «2048» > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
Дефрагментация файлов баз данных?
for i in \
`find /data -iname «*.db»`
do \
sqlite3 $i ‘VACUUM;’;
done
Отключаем логгеры(не будут записываться лог-файлы)
Настраиваем пороги, при которых будет происходить выгрузка приложений при нехватке памяти
echo «2048, 3072, 6144, 15360, 17920, 20480» > /sys/module/lowmemorykiller/parameters/minfree
Твики управления кэша
LOOP=`ls -d /sys/block/loop*`;
RAM=`ls -d /sys/block/ram*`;
MMC=`ls -d /sys/block/mmc*`;
for j in $LOOP $RAM
do
echo «0» > $j/queue/rotational;
echo «2048» > $j/queue/read_ahead_kb;
done
Твики процессора
SAMPLING_RATE=$(busybox expr `cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_transition_latency` \* 750 / 1000)
echo 95 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo $SAMPLING_RATE > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/sampling_rate
Перенос dalvik-кеша в раздел cache, чтобы разгрузить раздел data
CACHESIZE=$(df -k /cache | tail -n1 | tr -s ‘ ‘ | cut -d ‘ ‘ -f2)
if [ $CACHESIZE -gt 80000 ]
then
echo «Large cache detected, moving dalvik-cache to /cache»
if [ ! -d /cache/dalvik-cache ]
then
busybox rm -rf /cache/dalvik-cache /data/dalvik-cache
mkdir /cache/dalvik-cache /data/dalvik-cache
fi
busybox chown 1000:1000 /cache/dalvik-cache
busybox chmod 0771 /cache/dalvik-cache
# bind mount dalvik-cache so we can still boot without the sdcard
busybox mount -o bind /cache/dalvik-cache /data/dalvik-cache
busybox chown 1000:1000 /data/dalvik-cache
busybox chmod 0771 /data/dalvik-cache
else
echo «Small cache detected, dalvik-cache will remain on /data»
fi
Удаление кэша, tmp-файлов и прочего мусора
#remove cache, tmp, and unused files
rm -f /cache/*.apk
rm -f /cache/*.tmp
rm -f /data/dalvik-cache/*.apk
rm -f /data/dalvik-cache/*.tmp
if [ -e /data/system/userbehavior.db ]
then
rm -f /data/system/userbehavior.db
fi
if [ -d /data/system/usagestats ]
then
chmod 400 /data/system/usagestats
fi
if [ -d /data/system/appusagestats ]
then
chmod 400 /data/system/appusagestats
fi
#remove main log
if [ -e /dev/log/main ]
then
rm -f /dev/log/main
fi
Изменение приоритета процессов-только стандартных
Желательно перед использованием проверить название процессов на вашем аппарате. Призвано увеличить плавность работы аппарата и сделать отклик более приятным.
Источник