- Как в ядро Андроид добавить поддержку init.d
- Что необходимо чтобы добавить поддержку init.d в Android?
- Инструкция как в ядро Android добавить поддержку init.d
- Способ 1. ОС Windows
- Способ 2. ОС Ubuntu
- Работа с ядром
- Как проверить поддерживает ли ядро init.d?
- Где должна быть создана папка init.d в Android для добавления скриптов?
- Скрипты-твики для init.d
- Общая информация:
- Твики скорости интернет-соединения
- Твики управления памятью виртуальной машины
- Твики ядра
- Увеличиваем время жизни аккумулятора
- Твик скорости чтения sd-карты(увеличение кеша карты)
- Дефрагментация файлов баз данных?
- Отключаем логгеры(не будут записываться лог-файлы)
- Твики управления кэша
- Твики процессора
- Перенос dalvik-кеша в раздел cache, чтобы разгрузить раздел data
- Удаление кэша, tmp-файлов и прочего мусора
- Изменение приоритета процессов-только стандартных
- Build.prop и init.d скрипты и твики в Андроид
- Куда добавлять скрипты и твики Android?
- Твики build.prop
- Скрипты init.d
Как в ядро Андроид добавить поддержку init.d
вкл. 02 Июнь 2016 . Опубликовано в Android — Общее
Как в ядро Андроид добавить поддержку init.d. В Android возможно встроить различные скрипты и твики которые начнут работать еще в процессе загрузки системы, для это нужна поддержка ядром init.d, но как ее добавить? Очень просто!
Более детально про init.d можете прочитать в wiki , если коротко, то с помощью данной системы инициализации, можно улучшить с помощью скриптов скорость работы 3G интернета, продлить время работы устройства от одного заряда аккумулятора, влиять на работу процессора и многое другое. Скрипты можно найти в интернет…
Что необходимо чтобы добавить поддержку init.d в Android?
Способ 1. ОС Windows
- Компьютер на ОС Windows (7/8/10)
- Ядро boot.img от вашего смартфона или планшета Android
- Скачать и распаковать архив с утилитой Android Image Kitchen
- Скачать и установить Notepad ++
Способ 2. ОС UBUNTU (Linux)
- Компьютер с ОС UBUNTU
- Ядро boot.img от вашего смартфона или планшета Android
Инструкция как в ядро Android добавить поддержку init.d
Способ 1. ОС Windows
1. Ядро boot.img поместить рядом в папку Android Image Kitchen
2. Перетянуть ядро на BAT-скрипт unpackimg.bat, после чего ядро будет разобрано
3. Открыть папку ramdisk и найти файл init.rc, после чего открыть его через Notepad ++
Добавить после service bootanim /system/bin/bootanimation …. следующие стороки:
5. Сохранить документ, закрыть Notepad ++, вернуться в папку Android Image Kitchen
6. Запустить Bat-скрипт repackimg.bat после чего будет созданно новое ядро image-new.img
7. Готовое ядро прошить через Fastboot
Способ 2. ОС Ubuntu
Подготовка
Установим пакет встраивающий открытие терминала в файловом менеджере
1. Открываем терминал и вводим следующую команду (с версии Ubuntu 15.10 терминал уже встроен в файловый менеджер Nautilus)
Для 32х разрядных систем:
Для 64х разрядных систем:
2. После чего выполнить команду перезапуска файлового менеджера
3. Установить пакет необходимый для работы с ядром Android
В текстовом редакторе Gedit снять галочку с параметра «создание резервной копии»
Работа с ядром
1. Создайте в папке home (Домашняя папка) папку с любым удобным именем и переместите туда ядро Android — boot.img. ( В примере будет указана папка kernel)
2. Перейдите в папку kernel, в любом пустом месте нажмите правую кнопку мыши и выбрать «Открыть в терминале»
3. В открывшемся терминале введите команду:
После чего в папке kernel вы увидите что появились новые файлы (ядро распаковано)
4. Создадим новую папку (назовем ее rw) внутри папки kernel, в терминале пишем
и далее пишем команду для перехода в нее
5. Пишем команду в терминале для дальнейшей распаковки раздела initrd.img
6. После чего в папке rw вы обнаружите множество файлов
7. Найдите и откройте файл init.rc
8. В конце файла добавьте следующие строки
и сохраните файл и выйдете с него
9. В терминале выполняем сборку файла initrd.img, пишем команду
10. Возвращаемся обратно в папку kernel, для этого в терминале пишем
11. Собираем ядро Android с внесенными изменениями
и после еще одну команду
Если получаете ошибку что ядро стало большим:
boot.img: updated is too big for the Boot Image
тогда собираем с такой командой
Ядро Android с поддержкой init.d собрано! Далее вам необходимо прошить!
Как проверить поддерживает ли ядро init.d?
1. Установите Busybox
2. Через любой терминал (с помощью ПК или приложение) введите команду:
3. Если появиться ответ со строкой:
Значит все работает как надо, ядро поддерживает init.d
Где должна быть создана папка init.d в Android для добавления скриптов?
1. Скачайте приложение Root Browser
2. Установите Busybox
3. В приложение Root Browser перейдите в раздел /system/etc
4. Создайте папку init.d
5. Задайте права доступа для папки (Permissions) — rwxr-xr-x или 07555 или буквой «П»
Источник
Скрипты-твики для 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
Изменение приоритета процессов-только стандартных
Желательно перед использованием проверить название процессов на вашем аппарате. Призвано увеличить плавность работы аппарата и сделать отклик более приятным.
Источник
Build.prop и init.d скрипты и твики в Андроид
вкл. 31 Май 2016 . Опубликовано в Android — Общее
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 (или полного сброса)
Если же данных строк нет, но есть:
Включение Отладки по USB при первом запуске Android (или полного сброса)
Добавить или изменить:
Улучшить качество фотографий
Добавить или изменить:
Улучшить качество снимков (за счет уменьшения скорости работы)
Улучшить качество снимков и видеозаписи
Добавить или изменить:
Улучшить качество мобильной сети
Добавить или изменить:
Улучшить качество передаваемой речи в мобильной сети
Добавить или изменить:
Акселерация интерфейса за счет GPU устройства
Добавить или изменить:
Отключить анимацию при включение устройства
Добавить или изменить:
Установить скорость анимации включения
Ускорить загрузку устройства
Добавить или изменить:
Отключить логирование ошибок ядра
Ускорить работу потокового видео
Добавить или изменить:
Внесение лаунчера в память
Добавить или изменить:
Увеличение автономности работы Android при использование Wi-FI
Добавить или изменить:
Улучшить реакцию сенсора дисплея
Добавить или изменить:
Увеличение скорости скрола (но ухудшается плавность)
Улучшить качество приема 2G и 3G сетей
Добавить или изменить:
Google DNS
Изменение плотности экрана 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 при выключенном экране.
Источник