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

Многие годы мы рассказывали про самые разные способы оптимизировать, модифицировать и твикать 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. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

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


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    2 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии