Default prop редактирование. Tips’n’Tricks из арсенала андроидовода

04.07.2019

Львиная доля системных параметров Android, скрытых от глаз пользователя, хранится в единственном файле под названием build.prop. Грамотное изменение настроек поможет вдохнуть вторую жизнь в гаджет: улучшить автономность и производительность, оптимизировать интерфейс. В статье мы покажем, как удобно редактировать build.prop, и приведём примеры полезных твиков, а также тех, которые кочуют из статьи в статью на разных ресурсах, но на самом деле не работают.

Что даёт редактирование файла build.prop?

Файл build.prop функционирует следующим образом: при запуске смартфона из него считывается содержимое, тем или иным образом влияющее на логику работы кода операционной системы. Среди таких спрятанных от пользователя настроек есть как глубоко системные, которые лучше не трогать, так и те, которые могут быть безболезненно изменены. Например, добавив несколько строк в build.prop, вы можете ускорить загрузку гаджета, убрать задержку при входящем вызове или включить автоповорот дисплея на экране блокировки. Как это сделать, мы сейчас расскажем.

Как редактировать build.prop?

Всё, что вам потребуется для внесения изменений - редактор текстовых файлов и права суперпользователя. Узнать, как получить root-доступ, можно на нашем форуме вразделе прошивок для Android в теме, посвящённой вашему смартфону или планшету. Для непосредственных изменений в файле можно пользоваться обычным текстовым редактором - для этого придётся самостоятельно найти файл по пути /system/build.prop. Но намного удобнее вносить изменения с помощью специализированной программы, например,BuildProp Editor .

Перед тем как приступить к экспериментам, необходимо обязательно сделать резервную копию файла. BuildProp Editor сохраняет бэкап оригинала автоматически при первом запуске. Если же вы решите пользоваться обычным текстовым редактором, то не забудьте сделать копию вручную. Если что-то вдруг пойдёт не так, то вам будет достаточно заменить «испорченный» build.prop резервной копией, чтобы вернуть всё на свои места.

Улучшение производительности

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

debug.sf.nobootanimation=1

ro.config.hw_quickpoweron=true

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

Ускорение работы с памятью. По умолчанию Android логирует множество действий в специальный файл, однако он необходим только разработчикам для дебага приложений. Обычным пользователям этот лог не пригодится, а потому его стоит отключить, добавив в build.prop строку

logcat.live=disable

Отключение лога уменьшит количество дисковых операций, что положительно скажется на быстродействии внутренней памяти смартфона. Правда, разница будет заметна разве что на гаджетах с медленными типами памяти: в нашем случае скорость последовательной записи возросла на 2 МБ/с.

Ускорение сети. Этот твик увеличивает размеры TCP-буферов, что поможет увеличить скорость медленного интернет-соединения, особенно при использовании мобильных сетей. Ну а прописывание DNS-серверов Google в некоторых случаях позволяет снизить время пинга.

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

net.rmnet0.dns1=8.8.8.8

net.rmnet0.dns2=8.8.4.4

net.dns1=8.8.8.8

net.dns2=8.8.4.4

У нас разница оказалась ощутимой, но не стоит забывать, что наибольшее влияние на скорость оказывает постоянно изменяющаяся загрузка базовых станций.

Скорость передачи данных со стандартными настройками

Скорость передачи данных после редактирования build.prop

Увеличение автономности

К сожалению, чудес не бывает - двукратного увеличения автономности достичь не удастся никакими твиками. Но добавить лишние 30-60 минут к времени работы гаджета вполне возможно.

Увеличение интервалов сканирования Wi-Fi. По умолчанию Android сканирует окружающие сети Wi-Fi каждые 20-90 секунд. Причём делает это даже тогда, когда Wi-Fi выключен, но разрешён фоновый поиск сетей для увеличения точности определения местоположения. Чтобы расширить данный интервал, необходимо добавить в файл build.prop строку:

wifi.supplicant_scan_interval=200

Здесь число 200 и является интервалом сканирования сетей в секундах.

Экономия заряда на LineageOS. Небольшой твик, обеспечивающий более эффективное управление спящим режимом при использовании CyanogenMod или LineageOS на смартфонах с чипсетами Qualcomm:

pm.sleep_mode=1

Ещё больше полезных твиков вы можете найти на форуме 4PDA.

Бесполезные твики, которые ничего не улучшают

Помимо действительно работающих твиков, приведённых в этой статье и в теме на форуме, существует немало таких, которые широко разошлись по Сети, но на самом деле не оказывают никакого влияния на работу системы. Соответствующее исследование провёл один из пользователей ресурса xda. Онпроанализировал исходный код AOSP и CyanogenMod и выяснил, что множество популярных твиков просто не упомянуты в исходном коде Android. Среди них есть самые разные записи.

Твики, не экономящие заряд:

ro.ril.disable.power.collapse

ro.mot.eri.losalert.delay

ro.config.hw_fast_dormancy

ro.config.hw_power_saving

Твики, не ускоряющие работу:

windowsmgr.max_events_per_sec

persist.cust.tel.eons

ro.max.fling_velocity

ro.min.fling_velocity
debug.performance.tuning

video.accelerate.hw

Другие бесполезные твики. Они предназначены для отключения проверки байт-кода Dalvik и запрета выгрузки лончера из оперативной памяти. Когда-то они действительно работали, но совершенно не актуальны для современных версий Android из-за изменения внутренней архитектуры ОС:

dalvik.vm.verify-bytecode

И ещё немного различных попросту не работающих твиков:

ro.media.dec.jpeg.memcap

ro.config.nocheckin

profiler.force_disable_ulog

profiler.force_disable_err_rpt

persist.sys.shutdown.mode

ro.kernel.checkjni

Интересно, что хотя некоторые из этих записей и были полезны для старых версий Android, некоторые не работали вообще никогда, являясь своего рода плацебо. А почему подобное массовое заблуждение вообще возникло - сейчас уже и не выяснить. Впрочем, от внесения таких записей в build.prop смартфон не станет хуже работать - все недействительные записи просто будут проигнорированы.

Заключение

Даже несмотря на то, что многие из рекомендуемых на форумах и различных сайтах твики вообще не функционируют, файл build.prop всё ещё остаётся неплохой возможностью улучшить интерфейс и работу вашего смартфона. Так что получайте права суперпользователя, делайте резервную копию настроек и смело экспериментируйте!

Многие годы мы рассказывали про самые разные способы оптимизировать, модифицировать и твикать Android. За это время у нас накопилось огромное количество советов на все случаи жизни, и мы готовы представить тебе лучшие из них - начиная с инструкций по смене MAC-адреса и управления смартфоном с разбитым экраном и заканчивая прокачкой клиента YouTube автоматизацией Android.

ADB

Начнем с ADB (Android Debug Bridge), стандартного инструмента для отладки и работы с консолью Android с компа. Чтобы активировать ADB, обычно достаточно включить его в «Опциях для разработчиков» на смартфоне, а на комп установить универсальный драйвер .

Перемещаем файлы с устройства / на устройство

Одна из самых удобных функций ADB - это возможность быстро переместить файл на устройство или скачать его на комп. Для копирования на устройство используем такую команду:

$ adb push файл /sdcard/

Обратная операция:

$ adb pull /sdcard/файл файл

Создаем скриншот и записываем видео с экрана смарта

С помощью ADB легко сделать скриншот:

$ adb shell screencap /sdcard/screen.png

Чтобы вытащить скриншот с устройства, используй команду pull из предыдущего примера:

$ adb pull /sdcard/screen.png screen.png

Кроме скриншота, можно записать скринкаст:

$ adb shell screenrecord --size 1280x720 --bit-rate 6000000 --time-limit 20 --verbose /sdcard/video.mp4

Эта команда начнет записывать видео с разрешением 1280×720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео появится на карте памяти под названием video.mp4 . Прервать запись можно, нажав Ctrl + C.

Батарейка в процентах

Не во всех прошивках есть функция отображения процентов батареи на значке в шторке. В этом случае включить отображение можно с помощью одной команды:

$ adb shell content insert --uri content://settings/system --bind name:s:status_bar_show_battery_percent --bind value:i:1

Управление смартфоном с разбитым экраном

Если после падения у телефона не работает тач, минимальную работоспособность все еще можно обеспечить через ADB, хотя бы для того, чтобы сделать бэкап. Для этого существует команда input:

$ adb shell input [<ИСТОЧНИК>] <КОМАНДА> [<АРГУМЕНТЫ>…]

В качестве источника можно указывать trackball, joystick, touchnavigation, mouse, keyboard, gamepad, touchpad, dpad, stylus, touchscreen. В качестве команды:

  • text (Default: touchscreen)
  • keyevent [–longpress] … (Default: keyboard)
  • tap (Default: touchscreen)
  • swipe (Default: touchscreen)
  • press (Default: trackball)
  • roll (Default: trackball)

Как видно, мы можем эмулировать нажатия и свайпы с помощью команд input touch и input swipe . Например, вытянуть шторку с уведомлениями можно так (отсчет координат идет от левого верхнего угла):

$ input swipe 10 10 10 1000

А так можно узнать разрешение экрана, чтобы подобрать собственные значения:

$ dumpsys window | \sed -n "/mUnrestrictedScreen/ s/^.*) \(*\)x\(*\)/\1 \2/p"

Для Nexus 5 разрешение будет 1080×1920. В этом случае, чтобы нажать на кнопку «Меню приложений» стандартного гугловского лаунчера, которая находится над кнопкой «Домой», следует выполнить такую команду:

$ input touchscreen tap 500 1775

Можно эмулировать нажатие кнопки питания, если она отказала:

$ adb shell input keyevent 82

Ну а вставить текст в текущее поле - с помощью команды

$ adb shell input text "Необходимый текст"

Root

Теперь о правах root. С их помощью можно сделать огромное количество полезных вещей. Поговорим о некоторых из них.

Блокируем рекламу

Для Android существует множество различных блокировщиков рекламы, не требующих прав root. Однако у них всех, включая знаменитый AdBlock, есть одна большая проблема - они создают локальный VPN-туннель. Это значит, что, активировав AdBlock, ты, во-первых, не сможешь использовать VPN, во-вторых, нередко будешь сталкиваться с проблемами подключения.

Имея права root, можно установить более правильный блокировщик, например AdAway . Он блокирует рекламные хосты на уровне системного резолвера имен (используя /system/etc/hosts в качестве черного списка), поэтому всегда работает абсолютно корректно, не висит в памяти и не жрет батарею.

Отключаем звук затвора камеры

При наличии прав root звук затвора можно отключить. Достаточно установить любой файловый менеджер с поддержкой root, перейти в каталог /system/media/audio/ui и удалить два файла: camera_click.ogg и camera_focus.ogg .

Кстати, уровнем выше лежит bootanimation.zip , который отвечает за анимацию загрузки. Его можно удалить (тогда при загрузке будет просто черный экран) или поменять на другой.

Твики build.prop

Файл /system/build.prop хранит системные настройки Android. Это конфиг всех конфигов, и с его помощью можно сделать огромное количество интересных вещей. Достаточно вписать в конец файла строку с именем опции и значением через знак равно:

  • ro.product.model - хранит название устройства (отображается в меню «О телефоне»). Иногда позволяет обманывать Play Store и ставить приложения, предназначенные для других устройств, или включать недоступные другим функции. Например, выдать себя за Pixel 2 XL и поставить новый Pixel Launcher с полноценной поддержкой Android Assistant;
  • ro.sf.lcd_density - плотность пикселей на экране, которую я всегда выставляю для своего Nexus 5 на 420 вместо 480. Это позволяет получить пять иконок в ряд в стоковом лаунчере вместо четырех плюс делает текст более мелким;
  • ro.telephony.call_ring.delay - при значении 0 уберет задержку начала включения музыки при звонке;
  • persist.audio.fluence - содержит четыре команды, отвечающие за работу шумодава. Можно поиграть со значениями, если тебя плохо слышно при звонке или есть «булькающий» звук на записи видео;
  • debug.sf.nobootanimation - значение 1 убирает бутанимацию;
  • ro.config.hw_quickpoweron - значение true увеличивает скорость загрузки телефона (в теории);
  • qemu.hw.mainkeys=0 - позволяет активировать показ наэкранных клавиш в дополнение к хардварным;
  • ro.telephony.default_network - говорит системе, в какой режим должна быть переключена мобильная сеть при загрузке. В качестве значения выступает цифра, которую можно узнать так: набираем в номеронабирателе *#*#4636#*#* и нажимаем на «Информация о телефоне». В меню «Предпочтительный тип сети» отсчитываем сверху до нужного режима. Счет начинается с нуля. То есть для 3G-смартфона значения будут такими: WCDMA preferred (предпочтительно 3G) - это 0, GSM Only (только 2G) - 1, WCDMA only (только 3G) - 2 и так далее. Досчитал до нужного пункта - записал цифру в значение. Теперь сразу после перезагрузки сеть будет активироваться именно в том режиме, который записан в build.prop.

Ищем пароли Wi-Fi

Чтобы вспомнить пароль от какой-либо хоть раз подключенной сети, ну или перенести все сети с одного устройства на другое без привязки аккаунта Google, можно заглянуть в файл /system/etc/wifi/wpa_supplicant.conf . Названия сетей и пароли лежат в открытом текстовом виде.

Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

Львиная доля системных параметров Android, скрытых от глаз пользователя, хранится в единственном файле под названием build.prop. Грамотное изменение настроек поможет вдохнуть вторую жизнь в гаджет: улучшить автономность и производительность, оптимизировать интерфейс. В статье мы покажем, как удобно редактировать build.prop, и приведём примеры полезных твиков, а также тех, которые кочуют из статьи в статью на разных ресурсах, но на самом деле не работают.
Что даёт редактирование файла build.prop?

Файл build.prop функционирует следующим образом: при запуске смартфона из него считывается содержимое, тем или иным образом влияющее на логику работы кода операционной системы. Среди таких спрятанных от пользователя настроек есть как глубоко системные, которые лучше не трогать, так и те, которые могут быть безболезненно изменены. Например, добавив несколько строк в build.prop, вы можете ускорить загрузку гаджета, убрать задержку при входящем вызове или включить автоповорот дисплея на экране блокировки. Как это сделать, мы сейчас расскажем.
Как редактировать build.prop?

Всё, что вам потребуется для внесения изменений - редактор текстовых файлов и права суперпользователя. Узнать, как получить root-доступ, можно на нашем форуме в для Android в теме, посвящённой вашему смартфону или планшету. Для непосредственных изменений в файле можно пользоваться обычным текстовым редактором - для этого придётся самостоятельно найти файл по пути /system/build.prop. Но намного удобнее вносить изменения с помощью специализированной программы, например, .

Перед тем как приступить к экспериментам, необходимо обязательно сделать резервную копию файла. BuildProp Editor сохраняет бэкап оригинала автоматически при первом запуске. Если же вы решите пользоваться обычным текстовым редактором, то не забудьте сделать копию вручную. Если что-то вдруг пойдёт не так, то вам будет достаточно заменить «испорченный» build.prop резервной копией, чтобы вернуть всё на свои места.

Полезные ссылки:Улучшение интерфейса

Для удобства мы разбили твики на несколько категорий. Первая - улучшение интерфейса. Такие твики наиболее наглядны, поскольку они нередко влияют не только на параметры системы, но и на её внешний вид.
Мгновенный звук вызова. В зависимости от модели смартфона и установленной прошивки при поступлении звонка гаджет может потратить какое-то время на проверку соединения, прежде чем заиграет мелодия. Для пользователя это выглядит следующим образом: сначала у аппарата просто включается дисплей, и только через секунду с небольшим отображается сам звонок. Исправить такое поведение можно внесением в build.prop двух строк:

ro.telephony.call_ring.delay=0
ring.delay=0​


После перезагрузки аппарата все звонки будут поступать мгновенно.
Автоповорот экрана блокировки. За исключением планшетов, практически ни одно Android-устройство не даёт возможность свободно поворачивать экран блокировки при повороте смартфона. Да, эта функция бывает нужна редко, но если гаджет установлен горизонтально в автомобильном держателе, то попытка ввода пароля или графического ключа превращается в настоящую эквилибристику. Всё, что нужно, чтобы избежать акробатических трюков - дописать в build.prop строки

lockscreen.rot_override=true
log.tag.launcher_force_rotate=VERBOSE​


Что из этого получится - можете увидеть на скриншоте.

Улучшение производительности

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

debug.sf.nobootanimation=1
ro.config.hw_quickpoweron=true​


После внесения этих настроек будет изменён режим выключения гаджета, а также отключена загрузочная анимация разработчика прошивки. В результате при загрузке смартфона вы какое-то время не будете ничего наблюдать на экране. Пугаться этого не стоит: именно благодаря отключению ненужных анимаций тестовый смартфон стал загружаться всего за 30 секунд вместо прежних 50 секунд.
Ускорение работы с памятью. По умолчанию Android логирует множество действий в специальный файл, однако он необходим только разработчикам для дебага приложений. Обычным пользователям этот лог не пригодится, а потому его стоит отключить, добавив в build.prop строку

logcat.live=disable​


Отключение лога уменьшит количество дисковых операций, что положительно скажется на быстродействии внутренней памяти смартфона. Правда, разница будет заметна разве что на гаджетах с медленными типами памяти: в нашем случае скорость последовательной записи возросла на 2 МБ/с.

Ускорение сети. Этот твик увеличивает размеры TCP-буферов, что поможет увеличить скорость медленного интернет-соединения, особенно при использовании мобильных сетей. Ну а прописывание DNS-серверов Google в некоторых случаях позволяет снизить время пинга.

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
net.rmnet0.dns1=8.8.8.8
net.rmnet0.dns2=8.8.4.4
net.dns1=8.8.8.8
net.dns2=8.8.4.4​

У нас разница оказалась ощутимой, но не стоит забывать, что наибольшее влияние на скорость оказывает постоянно изменяющаяся загрузка базовых станций.
Скорость передачи данных со стандартными настройками Скорость передачи данных после редактирования build.prop
Увеличение автономности

К сожалению, чудес не бывает - двукратного увеличения автономности достичь не удастся никакими твиками. Но добавить лишние 30-60 минут к времени работы гаджета вполне возможно.
Увеличение интервалов сканирования Wi-Fi. По умолчанию Android сканирует окружающие сети Wi-Fi каждые 20-90 секунд. Причём делает это даже тогда, когда Wi-Fi выключен, но разрешён фоновый поиск сетей для увеличения точности определения местоположения. Чтобы расширить данный интервал, необходимо добавить в файл build.prop строку:

wifi.supplicant_scan_interval=200​


Здесь число 200 и является интервалом сканирования сетей в секундах.
Экономия заряда на LineageOS. Небольшой твик, обеспечивающий более эффективное управление спящим режимом при использовании CyanogenMod или LineageOS на смартфонах с чипсетами Qualcomm:

pm.sleep_mode=1​


Ещё больше полезных твиков вы можете найти на форуме 4PDA.
Полезные ссылки:
Бесполезные твики, которые ничего не улучшают

Помимо действительно работающих твиков, приведённых в этой статье и в теме на форуме, существует немало таких, которые широко разошлись по Сети, но на самом деле не оказывают никакого влияния на работу системы. Соответствующее исследование провёл один из пользователей ресурса xda. Он и CyanogenMod и выяснил, что множество популярных твиков просто не упомянуты в исходном коде Android. Среди них есть самые разные записи.
Твики, не экономящие заряд:

ro.ril.disable.power.collapse
ro.mot.eri.losalert.delay
ro.config.hw_fast_dormancy
ro.config.hw_power_saving​

Твики, не ускоряющие работу:

windowsmgr.max_events_per_sec
persist.cust.tel.eons
ro.max.fling_velocity
ro.min.fling_velocity
debug.performance.tuning
video.accelerate.hw​

Другие бесполезные твики. Они предназначены для отключения проверки байт-кода Dalvik и запрета выгрузки лончера из оперативной памяти. Когда-то они действительно работали, но совершенно не актуальны для современных версий Android из-за изменения внутренней архитектуры ОС:

dalvik.vm.verify-bytecode
ro.HOME_APP_ADJ​

И ещё немного различных попросту не работающих твиков:

ro.media.dec.jpeg.memcap
ro.config.nocheckin
profiler.force_disable_ulog
profiler.force_disable_err_rpt
persist.sys.shutdown.mode
ro.kernel.checkjni​

Интересно, что хотя некоторые из этих записей и были полезны для старых версий Android, некоторые не работали вообще никогда, являясь своего рода плацебо. А почему подобное массовое заблуждение вообще возникло - сейчас уже и не выяснить. Впрочем, от внесения таких записей в build.prop смартфон не станет хуже работать - все недействительные записи просто будут проигнорированы.
Заключение

Даже несмотря на то, что многие из рекомендуемых на форумах и различных сайтах твики вообще не функционируют, файл build.prop всё ещё остаётся неплохой возможностью улучшить интерфейс и работу вашего смартфона. Так что получайте права суперпользователя, делайте резервную копию настроек и смело экспериментируйте!
Автор текста: Владимир Терехов