Build.prop и init.d скрипты и твики в Андроид. Хотели бы качественно улучшить работу Android смартфона или планшета в плане быстродействия и автономности и автоматизации? В этом вам помогут скрипты и твики в build.prop / init.d!
К большому сожалению практически многие производители Android смартфонов и планшетов не реализовывают весь потенциал устройства, что фактически влияет на скорость работы, автономность, повышение функциональности, удобства.
На данной странице вы найдете коллекцию скриптов и твиков Android build.prop и init.d.
Куда добавлять скрипты и твики Android?
На работу Android влияют изменения в конфигурационном файле build.prop, который находиться в корне раздела /system , а также скрипты в системе инициализации находящиеся в /system/etc/init.d, но для начала нужно активировать поддержку init.d на уровне ядра.
Твики build.prop
Отображаемый язык при первом запуске Android (или полного сброса)
Изменить строки:
ro.product.locale.language=en
ro.product.locale.region=US
на
ro.product.locale.language=ru
ro.product.locale.region=RU
Если же данных строк нет, но есть:
ro.product.locale=en-US
изменить на
ro.product.locale=ru-RU
Включение Отладки по USB при первом запуске Android (или полного сброса)
Добавить или изменить:
ro.adb.secure=0
ro.secure=0
ro.debuggable=1
persist.sys.usb.config=mtp,adb
persist.service.adb.enable=1
persist.service.debuggable=1
Улучшить качество фотографий
Добавить или изменить:
ro.media.enc.jpeg.quality=100
Улучшить качество снимков (за счет уменьшения скорости работы)
persist.sys.use_dithering=1
Улучшить качество снимков и видеозаписи
Добавить или изменить:
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
Улучшить качество мобильной сети
Добавить или изменить:
net.ipv4.ip_no_pmtu_disc=0
net.ipv4.route.flush=1
net.ipv4.tcp_ecn=0
net.ipv4.tcp_fack=1
net.ipv4.tcp_mem=187000 187000 187000
net.ipv4.tcp_moderate_rcvbuf=1
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_rfc1337=1
net.ipv4.tcp_rmem=4096 39000 187000
net.ipv4.tcp_sack=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_wmem=4096 39000 187000
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
Улучшить качество передаваемой речи в мобильной сети
Добавить или изменить:
ro.ril.enable.amr.wideband=1
Акселерация интерфейса за счет GPU устройства
Добавить или изменить:
debug.sf.hw=1
debug.performance.tuning=1
video.accelerate.hw=1
debug.egl.profiler=1
debug.egl.hw=1
debug.composition.type=gpu
Отключить анимацию при включение устройства
Добавить или изменить:
debug.sf.nobootanimation=1
Установить скорость анимации включения
boot.fps=20
Ускорить загрузку устройства
Добавить или изменить:
ro.config.hw_quickpoweron=true
Отключить логирование ошибок ядра
ro.kernel.android.checkjni=0
ro.kernel.checkjni=0
Ускорить работу потокового видео
Добавить или изменить:
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-rtsp=true
media.stagefright.enable-record=false
Внесение лаунчера в память
Добавить или изменить:
ro.HOME_APP_ADJ=1
Увеличение автономности работы Android при использование Wi-FI
Добавить или изменить:
wifi.supplicant_scan_interval=180
pm.sleep_mode=1
ro.ril.disable.power.collapse=0
Улучшить реакцию сенсора дисплея
Добавить или изменить:
debug.performance.tuning=1
video.accelerate.hw=1
Увеличение скорости скрола (но ухудшается плавность)
persist.sys.scrollingcache=3
ro.config.tima=0
ro.config.knox=0
ro.securestorage.knox=false
security.mdpp=None
security.mdpp.result=None
wlan.wfd.hdcp=disable
Улучшить качество приема 2G и 3G сетей
Добавить или изменить:
persist.cust.tel.eons=1
ro.ril.gprsclass=10
ro.ril.hsdpa.category=8
ro.ril.hsupa.category=6
ro.ril.hsxpa=1
Google DNS
net.dns1=8.8.8.8
net.dns2=8.8.4.4
net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
net.ppp0.dns1=8.8.8.8
net.ppp0.dns2=8.8.4.4
net.wlan0.dns1=8.8.8.8
net.wlan0.dns2=8.8.4.4
net.eth0.dns1=8.8.8.8
net.eth0.dns2=8.8.4.4
net.gprs.dns1=8.8.8.8
net.gprs.dns2=8.8.4.4
Изменение плотности экрана DPI
ro.sf.lcd.density=
читайте подробней в статье про DPI
Скрипты init.d
Для того чтобы скрипты работали, необходимо:
- Ядро с поддержкой init.d
- Root права Android
- Установленный BusyBox
- Дописать в build.prop sys.initd=1
Все скрипты добавлять в папку init.d находящуюся по пути /system/etc.
Ниже будет представлено описание и ссылка на скрипт.
Скрипт sqlite — сжимает базы данных приложений и системы, тем самым ускоряя работу Android.
Скачать
Скрипт zipaligin — оптимизирует работу установленных приложений, тем самым ускоряя работу Android.
Скачать
Скрипт centisecs — ускоряет работу Android за счет оптимизаций работы записи данных на диск.
Скачать
Скрипт zminfree — оптимизирует выгрузку приложений из оперативной памяти.
Скачать
Скрипт batterystats — сбрасывает статистику работы батареи (использовать если неправильно отображает заряд батареи).
Скачать
Скрипт wifi_idle_wait — Удержания соединения Internet по Wi-Fi при выключенном экране.
Скачать
Некоторое время назад мне была поставлена следующая задача: разработать прототип приложения под Android для беспроводной связи с Arduino в реальном времени. Погружаться ради этого с головой в Java, Qt или C# было непрактично, поэтому решил искать готовое решение на скриптовом движке. PhoneGap? Интересно, но не для работы с Bluetooth. Что-то из мобильных сред разработки? Возможно, но хотелось работать в привычной десктопной среде, а не на планшете с небольшим экраном. Вскоре желаемое нашлось – мобильная среда разработки DroidScript с возможностью подключения к ней из браузерной WiFi IDE, которую можно установить на Windows, Mac и Linux.
Что такое DroidScript?
DroidScript представляет собой приложение Android, которое включает в себя среду разработки и выполнения программного кода на Android устройстве. Он позволяет создавать приложения двух типов – JavaScript (с нативным интерфейсом) и HTML (гибридные). Для создания нативного UI и доступа к программно-аппаратным ресурсам Android, JavaScript используется совместно с API DroidScript, который позволяет работать с WebView, SQLite, email, SMS, WebGL, сенсорами, Web-серверами, сокетами, спрайтовой анимацией и многим другим, а также осуществлять взаимодействие с внешними устройствами посредством Bluetooth, WiFi, USB и LAN. Впечатляющая функциональность ”из коробки” – это одна из особенностей DroidScript. Другая особенность – простота его использования. В чём она состоит? Прежде всего, в кодировании. Ниже дан пример кода простого приложения:
// функция инициализации function OnStart() { // создаём линейный компоновщик во всю область экрана var lay = app.CreateLayout( "linear", "FillXY" ); // создаём кнопку с шириной 30% и высотой 10% относительно размеров экрана var btn = app.CreateButton( "Кнопка", 0.3, 0.1 ); // задаём размер надписи на кнопке btn.SetTextSize( 18 ); // задаём обработчик нажатия на кнопку btn.SetOnTouch( function(){ app.ShowPopup( "Привет, Андроид!" ); // всплывающее сообщение app.Vibrate( "0,100,30,100,50,300" ); // вибросигнал }); // добавляем кнопку компоновщику lay.AddChild( btn ); // добавляем компоновку объекту приложения для её отображения на экране app.AddLayout( lay ); }
Всё кодируется на JavaScript и API DroidScript без использования xml-разметки, подключения библиотек, создания классов и др. В DroidScript нет визуальных средств проектирования интерфейса, как в Android Studio, AIDE или MIT App Inventor, но в нём можно реализовать LivePreview на Android для ещё более быстрой разработки интерактивных прототипов, а также расширить функциональность при помощи плагинов, написанных на JavaScript или Java. Простота работы с DroidScript заключается не только в кодировании. Он изначально разрабатывался так, чтобы дать начинающим разработчикам под Android просто и быстро погрузиться в этот процесс.
Установка и настройка
В случае отсутствия под рукой телефона или планшета с операционной системой Android можно воспользоваться её эмулятором, например, BlueStacks или Nox APP Player. Устанавливаем DroidScript из Google Play и открываем его. На экране появляется интерфейс с единственным приложением Hello World в области приложений. Короткое касание пиктограммы приложения приведёт к его запуску. Для редактирования кода нужно выполнить долгое касание пиктограммы и выбрать опцию Edit в появившемся списке действий. Панель управления включает в себя кнопки для доступа к документации, соединения с WiFi IDE, общим командам и примерам. Настройка удалённой среды разработки WiFi IDE происходит так:
- Запускаем DroidScript и переходим в настройки по команде …/Settings для изменения пароля доступа или его сброса.
- В панели управления нажимаем кнопку со стрелкой вверх. Появляется диалог с адресом DroidScript.
- На настольном компьютере или ноутбуке открываем браузер и вводим полученный в предыдущем пункте адрес. Появляется диалог запроса пароля, если он не был сброшен. Вводим пароль, и после успешного получения доступа на экране отобразится интерфейс среды разработки.
В левой части окна располагаются вкладки с областью приложений, редактором, ресурсными файлами, а в правой — вкладки с новостями, справкой, примерами и отладчиком. В WiFi IDE заложена возможность расширения его функциональности за счёт добавления вкладок. Вкладка “Espruino” является примером данного расширения. В самом простом случае приложение может состоять из одного файла с расширением js, в котором код хранится в исходном виде. Для обмена проектом в исходном коде его можно запаковать в spk-архив. Также возможна сборка проекта в apk-файл, но для этого необходимо купить и установить плагин ApkBuilder. Когда впервые видишь столь простые интерфейсы DroidScript и WiFi IDE, после работы в десктопной или web-среде, то возникает логичный вопрос, а можно ли с помощью этого cделать что-то серьёзное? Безусловно! Как известно, и с помощью простых инструментов можно создавать впечатляющие вещи!
Содержание
Документация
- Официальная страница
- Официальный форум DroidScript
- Вики DroidScript
- Справочное руководство по DroidScript на русском языке
Также отдельные энтузиасты выкладывают учебные пособия на YouTube.
112 18,3k 112
Данные скрипты-твики для init.d призванны улучшить работу гуглофона и настроить его под свои нужды. Для работы твиков необходима поддержка init.d прошивкой вашего аппарата, а также BusyBox. Однако, поддержку init.d можно эмулировать с помощью таких программ как mcTweaker или Script Manager, включив соответствующие пункты в программах. Причем в mcTweaker реализовано множество твиков для вашего аппарата.Напомню, что в кастомных прошивках BusyBox может быть установлен, да и многие твики уже реализованы!Все Вы делаете на свой страх и риск! Для манипуляций нужен root-доступ!
Общая информация:
Каждый файл скрипта начинается со строчки:
Образец файла скрипта
Каждый твик оформляется отдельным файлом! Все твики в один файл не кладем! Файл скрипта называем по-любому, но так чтобы сами могли распознать их, например, Battery_tweak — твик аккумулятора.
Твики скорости интернет-соединения
Твики управления памятью виртуальной машины
Твики ядра
Увеличиваем время жизни аккумулятора
Твик скорости чтения sd-карты(увеличение кеша карты)
echo «2048» > /sys/devices/virtual/bdi/179:0/read_ahead_kb;
Дефрагментация файлов баз данных?
Отключаем логгеры(не будут записываться лог-файлы)
rm /dev/log/main
Твики управления кэша
Твики процессора
Перенос dalvik-кеша в раздел cache, чтобы разгрузить раздел data
Удаление кэша, tmp-файлов и прочего мусора
Изменение приоритета процессов-только стандартных
Желательно перед использованием проверить название процессов на вашем аппарате. Призвано увеличить плавность работы аппарата и сделать отклик более приятным.
В прикрепленном архиве лежат готовые скрипты-твики, которые осталось только закинуть в папку init.d. Нумерация скриптов сохранена!Все манипуляции над вашим аппаратом лежат на вашей совести! При использовании программ-твикеров типа mcTweaker удаляйте свои пользовательские скрипты да бы избежать неприятных ситуаций и всегда делайте бэкап!
Tweaks | [Размер файла — 3,44 Kb] |
Хотели бы качественно улучшить работу Android смартфона или планшета в плане быстродействия и автономности и автоматизации? В этом вам помогут скрипты и твики в build.prop / init.d!
К большому сожалению практически многие производители Android смартфонов и планшетов не реализовывают весь потенциал устройства, что фактически влияет на скорость работы, автономность, повышение функциональности, удобства.
На данной странице вы найдете коллекцию скриптов и твиков Android build.prop и init.d.
Куда добавлять скрипты и твики Android?
На работу Android влияют изменения в конфигурационном файле build.prop, который находиться в корне раздела /system , а также скрипты в системе инициализации находящиеся в /system/etc/init.d, но для начала нужно активировать поддержку init.d на уровне ядра.
Твики build.prop
Отображаемый язык при первом запуске Android (или полного сброса)
Изменить строки:
ro.product.locale.language=en
ro.product.locale.region=US
на
ro.product.locale.language=ru
ro.product.locale.region=RU
Если же данных строк нет, но есть:
ro.product.locale=en-US
изменить на
ro.product.locale=ru-RU
Включение Отладки по USB при первом запуске Android (или полного сброса)
Добавить или изменить:
ro.adb.secure=0
ro.secure=0
ro.debuggable=1
persist.sys.usb.config=mtp,adb
persist.service.adb.enable=1
persist.service.debuggable=1
Улучшить качество фотографий
Добавить или изменить:
ro.media.enc.jpeg.quality=100
Улучшить качество снимков (за счет уменьшения скорости работы)
persist.sys.use_dithering=1
Улучшить качество снимков и видеозаписи
Добавить или изменить:
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
Улучшить качество мобильной сети
Добавить или изменить:
net.ipv4.ip_no_pmtu_disc=0
net.ipv4.route.flush=1
net.ipv4.tcp_ecn=0
net.ipv4.tcp_fack=1
net.ipv4.tcp_mem=187000 187000 187000
net.ipv4.tcp_moderate_rcvbuf=1
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_rfc1337=1
net.ipv4.tcp_rmem=4096 39000 187000
net.ipv4.tcp_sack=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_wmem=4096 39000 187000
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960
Улучшить качество передаваемой речи в мобильной сети
Добавить или изменить:
ro.ril.enable.amr.wideband=1
Акселерация интерфейса за счет GPU устройства
Добавить или изменить:
debug.sf.hw=1
debug.performance.tuning=1
video.accelerate.hw=1
debug.egl.profiler=1
debug.egl.hw=1
debug.composition.type=gpu
Отключить анимацию при включение устройства
Добавить или изменить:
debug.sf.nobootanimation=1
Установить скорость анимации включения
boot.fps=20
Ускорить загрузку устройства
Добавить или изменить:
ro.config.hw_quickpoweron=true
Отключить логирование ошибок ядра
ro.kernel.android.checkjni=0
ro.kernel.checkjni=0
Ускорить работу потокового видео
Добавить или изменить:
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-rtsp=true
media.stagefright.enable-record=false
Внесение лаунчера в память
Добавить или изменить:
ro.HOME_APP_ADJ=1
Увеличение автономности работы Android при использование Wi-FI
Добавить или изменить:
wifi.supplicant_scan_interval=180
pm.sleep_mode=1
ro.ril.disable.power.collapse=0
Улучшить реакцию сенсора дисплея
Добавить или изменить:
debug.performance.tuning=1
video.accelerate.hw=1
Увеличение скорости скрола (но ухудшается плавность)
persist.sys.scrollingcache=3
ro.config.tima=0
ro.config.knox=0
ro.securestorage.knox=false
security.mdpp=None
security.mdpp.result=None
wlan.wfd.hdcp=disable
Улучшить качество приема 2G и 3G сетей
Добавить или изменить:
persist.cust.tel.eons=1
ro.ril.gprsclass=10
ro.ril.hsdpa.category=8
ro.ril.hsupa.category=6
ro.ril.hsxpa=1
Google DNS
net.dns1=8.8.8.8
net.dns2=8.8.4.4
net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
net.ppp0.dns1=8.8.8.8
net.ppp0.dns2=8.8.4.4
net.wlan0.dns1=8.8.8.8
net.wlan0.dns2=8.8.4.4
net.eth0.dns1=8.8.8.8
net.eth0.dns2=8.8.4.4
net.gprs.dns1=8.8.8.8
net.gprs.dns2=8.8.4.4
Изменение плотности экрана DPI
ro.sf.lcd.density=
читайте подробней в статье про DPI
Скрипты init.d
Для того чтобы скрипты работали, необходимо:
- Ядро с поддержкой init.d
- Root права Android
- Установленный BusyBox
- Дописать в build.prop sys.initd=1
Все скрипты добавлять в папку init.d находящуюся по пути /system/etc.
Ниже будет представлено описание и ссылка на скрипт.
Скрипт sqlite — сжимает базы данных приложений и системы, тем самым ускоряя работу Android.
Скачать скрипт init.d
Скрипт zipaligin — оптимизирует работу установленных приложений, тем самым ускоряя работу Android.
Скачать скрипт init.d
Скрипт centisecs — ускоряет работу Android за счет оптимизаций работы записи данных на диск.
Скачать скрипт init.d
Скрипт zminfree — оптимизирует выгрузку приложений из оперативной памяти.
Скачать скрипт init.d
Скрипт batterystats — сбрасывает статистику работы батареи (использовать если неправильно отображает заряд батареи).
Скачать скрипт init.d
Скрипт wifi_idle_wait — Удержания соединения Internet по Wi-Fi при выключенном экране.
Скачать скрипт init.d
Вот и все! Больше статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!
Android основан на ядре Linux, включает в себя набор стандартных UNIX-команд и простой шелл sh. Все это значит, что мы можем не только использовать командную строку для выполнения низкоуровневых операций, но и писать шелл-скрипты, которые будут выполнять функции, недоступные из графического интерфейса. В этой статье мы поговорим о том, что с их помощью можно сделать и зачем все это нужно.
Для прошлого номера журнала я написал статью о Tasker — системе, которая позволяет автоматизировать работу Android и заменить сотни сторонних приложений. К сожалению, Tasker ограничен высокоуровневыми функциями Android и не позволяет выполнять такие низкоуровневые операции, как монтирование файловых систем, изменение параметров ядра, системных переменных или запуск демонов. Зато все это можно сделать с помощью скриптов.
Сразу оговорюсь, что в этой статье речь пойдет о шелл-скриптах в традиционном для Linux понимании, без использования инструментов вроде SL4A, QPython или Roboto. Главное назначение таких скриптов — изменение поведения системы, параметров ядра, работа с демонами (ADB, например) и тому подобное. Скрипты могут стартовать на этапе загрузки ОС, установки новой прошивки, после тапа по кнопке или же по традиции — из терминала.
В статье я расскажу, как писать такие скрипты, как заставить их стартовать автоматически, привязывать к определенному системному событию. В качестве бонуса также объясню, как заставить консоль восстановления (recovery) выполнить необходимые тебе действия перед установкой или сразу после установки новой прошивки. Начинаем.
Особенности Android-окружения
В самой своей основе, там, где нет Java и Dalvik, Android представляет собой минималистичный Linux-дистрибутив со всеми свойственными ему атрибутами: ядром, системой инициализации, набором библиотек, демонов, консольных команд и, конечно же, шеллом. Последний — это не что иное, как mksh из MirBSD, переименованный в sh; простой командный интерпретатор с поддержкой языковых конструкций классического Bourne shell из UNIX и автодополнением по нажатию Tab.
В качестве комплекта базовых UNIX-команд здесь используется toolbox, своего рода урезанная альтернатива BusyBox, которая позволяет вызывать несколько разных команд из одного бинарника (с помощью симлинков). Toolbox включает в себя очень ограниченный набор команд, в котором нет не только grep или sort, но даже cp. Поэтому для полноценной работы со скриптами настоятельно рекомендуется установка BusyBox, благо в маркете полно бесплатных инсталляторов.
Сам шелл располагается не совсем по адресу, поэтому «шибанг» в скриптах будет выглядеть несколько по-иному, а именно #!/system/bin/sh. Зато о расположении бинарников можно не думать вообще, так как в переменной $PATH всегда прописаны правильные значения. Каталогов для поиска команд тут всегда три: /system/bin/, /system/sbin/ и /system/xbin/ для внешних бинарников. Туда обычно устанавливается BusyBox.
Основное назначение скриптинга в Android — работа с ядром и системными утилитами. Ядро тут стандартное и экспортирует все те же интерфейсы /proc и /sys, через которые можно рулить железом и состоянием системы. Плюс есть набор специфичных для Android утилит, которые будут очень полезны при разработке скриптов:
- pm — менеджер пакетов, позволяет устанавливать, удалять и перемещать софт;
- am — менеджер активностей (Activity), может быть использован для запуска приложений;
- dumpsys — дамп в консоль массы различной информации о состоянии системы;
- screencap — утилита для снятия скриншота;
- screenrecord — утилита для записи скринкастов;
- getprop/setprop — команды для чтения и изменения системных переменных;
- start/stop — запуск и остановка системных служб;
- input — позволяет отправлять в текущее окно кей-коды (эмуляция клавиатуры);
- service — утилита для управления Java-сервисами, имеет очень много возможностей;
- svc — позволяет управлять Wi-Fi, USB-подключением и питанием.