Содержание статьи

Многие годы мы рассказывали про самые разные способы оптимизировать, модифицировать и твикать 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 <string> (Default: touchscreen) [delay]
  • keyevent [–longpress] <key code number or name> … (Default: keyboard)
  • tap <x> <y> (Default: touchscreen)
  • swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
  • press (Default: trackball)
  • roll <dx> <dy> (Default: trackball)

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

$ input swipe 10 10 10 1000

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

$ dumpsys window | \sed -n '/mUnrestrictedScreen/ s/^.*) \([0-9][0-9]*\)x\([0-9][0-9]*\)/\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.
AdAway и файл build.prop

AdAway и файл build.prop

AdAway и файл build.prop
 

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

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

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

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

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

Вариант 2. Купи один материал

Заинтересовала информация, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для материалов, опубликованных более двух месяцев назад.


2 комментария

  1. Михаил Абеленцев

    28.11.2017 at 17:33

    Хорошая статья Дима. Отдельная спасибо за твики в билд проп. Многое не знал. Замечание лишь одно касаемо NewPipe:
    «Ну а самым приятным бонусом будет возможность скачивать видео в !!любом качестве!! или отдельно MP3-дорожки из видео».
    Увы это не так, стоит последняя версия и качает видео (со звуком) лишь 720p качество. Всё что выше — без звуковой дорожки скачивается

    • Дмитрий Подкопаев aka BRADA

      03.12.2017 at 17:25

      Да, не обратил на это внимание.
      Вот что на это отвечает разработчик:

      Downloading 1080p is not possible because the stream is delivered without audio. The internal player of NewPipe is able to combine such a stream with an audio only stream. However if we wanted to save a file that contained both we’d have to add ffmpeg, which would bloat up our app.

      However if there was an app containing ffmpeg we could speak about using such an app to download and combine 1080p streams.

Оставить мнение

Check Also

Признаки «Оперы». Йон фон Течнер об идеологии браузера Vivaldi

«Хакер» побеседовал с сооснователем фирмы Opera и основателем Vivaldi Йоном фон Течнером, …