Набираем людей к себе в команду! Читай подробности: тут

Решение проблем Android

Решение проблем Android

Идеальный вариант для описанных в статье рецептов — это телефон с разблокированным загрузчиком, установленным кастомным рекавери TWRP (CWM давно не обновляется), с наличием прав root и галочкой «Отладка по USB» в настройках для разработчиков. Такая мелочь, как эта самая галочка, позволит в случае разбитого экрана не только вытащить данные с карты памяти, но и достать базы контактов или СМС, используя плагин ADB для Total Commander.
Рекомендую проделать эти манипуляции сразу, чтобы не было мучительно больно, когда возникнут проблемы с телефоном. Все примеры будут даны для Nexus 5, как самого распространенного эталонного Android-смартфона.

 

ПРОБЛЕМА #1. ТЕЛЕФОН НЕ ЗАГРУЖАЕТСЯ

Начнем с наиболее частых проблем. Телефон перестал загружаться. Постоянно висит логотип Google, и дальше дело не идет. Имеем классический бутлуп (bootloop — загрузка по кругу). Может наступить после ежемесячного обновления безопасности устройства
даже у пользователей со стоковой
прошивкой, которые никогда не лез
ли в систему. Решений три:Решение проблем Android

• сделать сброс из стокового рекавери (приведет к потере всех данных) или из TWRP (данные не пропадут);
• прошить из стокового рекавери через sideload полный ОТАобраз в формате ZIP, который с мая Google начала выкладывать
для общего пользования, чем очень упростила жизнь многим пользователям (данные не пропадут);
• прошить полный образ прошивки, предварительно убрав w из скрипта flashall.bat, чтобы
не потерять данные.

 

ПРОБЛЕМА #2. ТЕЛЕФОН НЕ ВКЛЮЧАЕТСЯ

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

• Подключить зарядник от другого устройства с большим током, в идеале 2А.
• Зайти в загрузчик (обычно громкость вниз + питание), далее кнопкой «Питание» подтверждаем выбранный пункт Start. Если не помогает, то в режиме загрузчика выбирать громкостью Power down, затем подтвердить кнопкой питания. Далее следует отсоединить зарядное устройство и подсоединить его снова в течение десяти секунд. На экране должен появиться значок батареи. После этого можно пробовать включать устройство, предварительно дав ему зарядиться не менее часа. Подробнее можно прочитать на официальной странице поддержки.
• Запитать смартфон от USBвыхода компа с помощью самопальной лягушки. Для этого достаточно найти любой USBкабель (подойдет и от мышки), отрезать его, а затем присоединить красный провод к плюсу батареи, а черный — к минусу. Далее батарею следует поставить на место (с присоединенными проводами) и включить смартфон.

Решение проблем Android

 

ПРОБЛЕМА #3. ТЕЛЕФОН НЕ ЗВОНИТ

Если не удается совершить звонок или смартфон вообще не видит мобильную сеть, то прежде всего следует проверить IMEI. Сделать это можно, набрав *#06#. Если вместо номера высветились нули, то IMEI слетел. Проще всего восстановить его из бэкапа, поэтому рекомендую сделать его после прочтения статьи и закинуть в облако. В Play Market есть очень много программ для создания и восстановления таких бэкапов, поэтому останавливаться на них не буду. Сделать то же самое можно и руками. Например, для Nexus 4 в эмуляторе терминала или из консоли нужно ввести следующие команды:

$ adb shell
> su
> dd if=/dev/block/mmcblk0p8 of=/sdcard/m9kefs1.img
> dd if=/dev/block/mmcblk0p9 of=/sdcard/m9kefs2.img


Восстановление IMEI:

$ adb shell
> su
> dd if=/sdcard/m9kefs1.img of=/dev/block/mmcblk0p8
> dd if=/sdcard/m9kefs2.img of=/dev/block/mmcblk0p9

 

У Nexus 5 нет отдельного раздела EFS. Поэтому бэкапить надо целиком раз
делы 12 и 13:

$ adb shell
> su
> dd if=/dev/block/mmcblk0p12 of=/sdcard/modemst1.img
> dd if=/dev/block/mmcblk0p13 of=/sdcard/modemst2.img


Восстановление проводится так:

$ adb shell
> su
> dd if=/sdcard/modemst1.img of=/dev/block/mmcblk0p12
> dd if=/sdcard/modemst2.img of=/dev/block/mmcblk0p13

 

Но что же делать, если бэкапа нет? Способ восстановления IMEI найдется
и в этом случае. Нужны наборы утилит EFS Professional и QPST, а также драйверы
Qualcomm для твоего устройства. Сначала грузится модифицированное ядро,
затем телефон перегружается в диагностический режим командами

$ adb shell
> su
> setprop sys.usb.config diag,adb


После этого IMEI можно менять. Подробную инструкцию найдешь тут. Если нет
под рукой коробки, то IMEI можно узнать у Гугла в личном кабинете на вкладке
Android.
Дополнительно понадобится узнать SPC code — шестизначное число, не
обходимое для работы сервисных программ. Сделать это можно следующим
образом. Качаем из маркета и запускаем Nexus 5 Field Test Mode, нажима
ем три точки, далее Settings (view), потом выбираем LTE, edit, выпрыгнет окно
с запросом кода. После этого в консоли надо ввести:

> adb shell
> logcat d | grep "commandId\ 200"


Ответом будут строки вида:

> 0802 10:16:27.140 14401 14401 D LG_SVC_ITEMS:getCommands commandId 200START
> 0802 10:16:27.185 14401 14401 D LG_SVC_ITEMS:getCommands commandId 200 = 353662END


где шесть цифр в конце и есть искомый код.

Решение проблем Android

 

ПРОБЛЕМА #4. НЕ РАБОТАЕТ ТАЧСКРИН

Если неудачно уронить телефон, можно повредить экран и, как следствие, тачскрин. В этом случае поможет мышка, подключенная к смартфону через переходник USBOTG. Можно также подключить устройство к компу и использовать для управления консоль и ADB. ADB позволит не только запускать приложения, отправлять СМС и даже совершать звонки, но и эмулировать нажатия на экран. Команды выглядят следующим образом:

• text <строка> — ввести строку;
• keyevent <код_клавиши> — эмулировать нажатие хардварной кнопки;
• tap <x> <y> — тап по указанному месту экрана;
• swipe <x1> <y1> <x2> <y2> — свайп от x1, y1 до x2, y2.

 

Например, вытянуть шторку с уведомлениями можно так (отсчет координат идет от левого верхнего угла):
$ input swipe 10 10 10 1000

 

На экране разрешением 1080 х 1920 нажать на кнопку «Меню приложений» стандартного лаунчера от Гугла, которая находится над кнопкой «Домой», можно так:
$ input touchscreen tap 500 1775

 

Если же не работает только часть экрана, можно произвольно сдвинуть выводимое изображение через консольную команду wm overscan или прогой Screen Shift.


ПРОБЛЕМА #5. НЕ РАБОТАЕТ USB

Если по USB телефон заряжается, но при подключении комп не видит устройство, можно совершать манипуляции с телефоном через WiFi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем кнопку и подключаемся к смартфону с помощью команды connect и показанного приложением IPадреса:
$ adb connect IPадрес

 

В качестве более удобной альтернативы можно использовать AirDroid.

 

ПРОБЛЕМА #6. НЕ РАБОТАЕТ КНОПКА ПИТАНИЯ

Если в смартфоне сломалась кнопка питания, включить его можно так: зажимаем громкость вниз и подключаем проводом к компу. Попадаем в загрузчик. Из консоли вводим команду для продолжения загрузки (fastboot входит в состав Android SDK, папка platformtools):
$ fastboot continue

 

Телефон загрузится. Для обеспечения работоспособности можно поставить модуль GravityBox для Xposed framework и включить опцию «Пробуждение громкостью» или поставить ядро с поддержкой DoubleTap2Wake. Чтобы иметь возможность погасить экран (заблокировать), следует активировать опцию «Двойное нажатие для сна» в GravityBox.
Другие хардварные кнопки можно переназначить, отредактировав один из файлов /system/usr/keylayout. На Nexus 5 хардварных кнопок немного, поэтому приведу пример со смартфоном Micromax Q415. У него очень неудачное расположение кнопок «Назад» и «Меню», но их легко поменять местами, если отредактировать файл ft5x06_ts.kl:

key 158 BACK
key 139 APP_SWITCH
key 172 HOME
key 217 SEARCH
key 249 MENU

Достаточно в первой строке указать кейкод 249, а в последней — 158. Аналогичным образом можно изменить любые другие кнопки, включая кнопки громкости (их настройки могут находиться в другом файле).


ПРОБЛЕМА #7. ТЫ ЗАБЫЛ PINКОД

Допустим, ты забыл PIN или не совсем трезвым поставил графический ключ, ну или друзья пошутили и включили распознавание по лицу. Так вот, если устройство по какойто причине заблокировано, блокировку можно снять (при условии включенной отладки по USB и прав root) через ту же консоль:

$ adb shell
> su
> cd /data/system
> rm *.key

 

Команда удалит все пароли и графические ключи. Сами файлы, в зависимости от прошивки и модели устройства могут быть: gesture.key, password.key, cm_gesture.key, personalpattern.key, personalbackuppin.key. Также за блокировку отвечают файлы locksettings.db, locksettings.dbshm, locksettings.dbwal.
После этого достаточно перегрузить устройство и ввести любой ключ, пароль. Если это не помогает, можно попробовать следующее:

$ adb shell
> cd /data/data/com.android.providers.settings/databases
> sqlite3 settings.db
> update system set value=0 where name='lock_pattern_autolock';
> update system set value=0 where name='lockscreen.lockedoutpermanently';

 

ПРОБЛЕМА #8. ЗАПРОС АККАУНТА GOOGLE ПОСЛЕ СБРОСА ДО ЗАВОДСКИХ НАСТРОЕК

На всех Нексусах, начиная с Nexus 6, а также на многих современных телефонах Google и производители ввели новую систему защиты данных пользователя, получившую название Factory Reset Protection (FRP). Теперь после сброса устройства до заводских настроек, на этапе начальной настройки у пользователя потребуют ввести данные (адрес почты и пароль) от предыдущего аккаунта, к которому привязан телефон. По мнению Google, такая защита делает бессмысленным воровство телефона: злоумышленник, который не сумеет подобрать пароль, сможет сбросить устройство до заводских настроек через стоковый рекавери, но при загрузке упрется в этот экран.
Но что же делать честным пользователям, которые забыли логин и пароль на устройстве? Настроил ты телефон родителям и благополучно забыл почту с паролем. На выручку придет канал YouTube сайта Rootjunky.com. На канале множество видеоинструкций по обходу защиты на разных устройствах, включая обновление безопасности от 1 июня 2016 года и прошивки Android N developer preview 4. Сводятся они к тому, что необходимо добраться до браузера, скачать и установить прогу QuickShortcutMaker, найти в ней Google Account Manager, выбрать Type Email and Password, нажать Try, три точки, далее Browser signin. После чего можно вводить данные любого аккаунта и перегружать устройство. Запустившийся мастер при сбросе до заводских настро ек настройки уже не будет требовать Verify your account.

 

ПРОБЛЕМА #9. НЕ РАБОТАЕТ МОБИЛЬНАЯ СВЯЗЬ, WIFI, ОТВАЛИВАЕТСЯ КАРТА ПАМЯТИ

Если телефон начинает дико глючить с постоянным отваливанием различных приложений, с последующим бутлупом и возможностью прошивки только 4.4.4 (все, что выше, не загружается), то, скорее всего, на устройстве слетел раздел /persist. Для Nexus 5 это раздел 16, у Nexus 9 — 11, у Nexus 6 — 26.
Чтобы вернуть смартфон в нормальное состояние, необходимо отформатировать раздел командой (на примере Nexus 5)
$ adb shell make_ext4fs /dev/block/mmcblk0p16

 

После этого аппарат должен заработать нормально. Единственный минус — каталог /persist окажется пустым, и при каждой перезагрузке будут меняться MACадреса на WiFi и Bluetooth. Если это критично, то можно предпринять дополнительные шаги:

1. Скачиваем файлы.
2. Устанавливаем HexEditor.
3. Произвольно меняем значения у двух файлов в архиве.
4. Внутри /persist создаем папку bluetooth.
5. С помощью проводника, например ES File Explorer, меняем свойства папки (нужен рут и показ скрытых файлов в настройках): owner — bluetooth, group — system, permissions — rwxrwx.
6. Внутри /persist создаем папку wifi и аналогично выставляем свойства: owner — wifi, group — system, permissions — rwxrwx.
7. Закидываем файлы из архива в созданные папки: .bdaddr в bluetooth и .macaddr в wifi.
8. Меняем разрешения у файлов на 660 (rwrw).
9. Перегружаем устройство.

 

ПРОБЛЕМА #10. ЧЕРНЫЙ ЭКРАН ПРИ ВКЛЮЧЕНИИ

Если устройство не загружается и не пускает даже в загрузчик, показывая только черный экран, но при этом реагирует звуком на подключение к компу, то это верный признак, что слетела таблица разделов или загрузчик (что по сути одно и то же). Вся прелесть устройств Nexus заключается в том, что у них есть резервный загрузчик, который позволит не только оживить смартфон, но и восстановить основной загрузчик.
Включаем смартфон через резервный загрузчик, удерживая кнопки VolUp + VolDown + Power (сработает, только если убит основной загрузчик). Когда система загрузится, подключаемся по ADB и восстанавливаем основной загрузчик простым копированием резервного:


$ adb shell
> su
> dd if="/dev/block/mmcblk0p15" of="/dev/block/mmcblk0p12" // Nexus 4
> dd if="/dev/block/mmcblk0p11" of="/dev/block/mmcblk0p6" // Nexus 5
> dd if="/dev/block/mmcblk0p13" of="/dev/block/mmcblk0p7" // Nexus 6

 

ПРОБЛЕМА #11. QHSUSB_BULK

Если телефон не загружается и при подключении к компу в диспетчере устройств определяется как QHSUSB_BULK с восклицательным знаком в желтом треугольнике, паниковать не стоит. Обычно проблему можно поправить.
Чтобы выдернуть из устройства данные, необходимо первым делом скачать актуальную версию Ext2fsd, установить ее и перегрузить комп. После последующего запуска проги в открывшемся окне находим диск, соответствующий объему телефона. На этом диске нажимаем правой кнопкой и выбираем ext2 Management. В открывшемся меню ставим галочки: Mount volume in readonly mode и Autonatically mount via Ext2Mgr (напротив выбираем букву диска). После чего можно нажать Apply и вытаскивать информацию через проводник или Total Commander.
Чтобы восстановить работоспособность телефона, необходимо скачать и установить QHSUSB_Driver, после чего телефон должен определиться как Qualcomm HSUSB QDLoader 9008. Далее понадобятся специфические файлы для устройства и утилиты BoardDiag и LG Flashtool. Полную инструкцию можно найти на форуме.

 

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

Материал ][ 08.16

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

1 Rubilnik Android / Статьи 1 603 11 сентябрь 2016

Рекомендуем также

Android N: десктоп, энергосбережение и гибридный компилятор.
Android N: десктоп, энергосбережение и гибридный компилятор.

9 марта компания Google представила Android N — предварительный выпуск седьмой версии своей...

Firewall для Андроид без Root
Firewall для Андроид без Root

Фаервол — это программа которая позволяет фильтровать весь исходящий и входящий трафик. А...

Меняем тему в TWRP на Android
Меняем тему в TWRP на Android

В последнее время мы часто наблюдаем изменения в дизайне тех или иных программ в сторону Material....

Безопасность смартфона рутованного и не только
Безопасность смартфона рутованного и не только

Все кто делает root на своем смартфоне сталкивается с одной серьезной проблемой — резким...


Комментарии (0)


Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

iOS cydia small iconRepo [cydia.shlyahten.ru]

G iconGAPPS (все версии)