Замена системных файлов Android с помощью adb

Способ может быть полезен в том случае, если «уже ничего не помогает», доступа к Root Explorer нет или телефон вообще не может загрузиться. В моем случае, пришлось в «боевом» режиме восстанавливать удалённый по глупости SystemUI.apk. При этом на телефоне что-то делать можно было только в доли секунды между нажатием кнопки «ОК» на предыдущем окне с ошибкой и появлением следующего такого же окна. Перепрошиваться не хотелось, потому пришлось срочно осваивать adb.

Итак, для того, чтобы подключить свой гуглофон к adb, вам нужно:

1) Android SDK для Вашей системы (здесь — на примере GNU/Linux Ubuntu)
2) Android SDK Platform-tools (устанавливаются выбором соответствующей галочки в Android SDK)
3) В «Параметры — Программы — Отладка» должна стоять галочка на «Отладка по USB»
4) Подключить телефон к USB
5) В моём случае пришлось сделать еще две вещи:
указать ID производителя телефона idVendor (его можно найти здесь):
#echo SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666" > /etc/udev/rules.d/51-android.rules
#chmod a+r /etc/udev/rules.d/51-android.rules

где 0bb4 заменяем на код своего производителя, после чего перезапустить adb
#adb kill-server
#adb start-server


Итак, все установлено и подключено, вы добавили путь к platform-tools в переменную $PATH своей операционной системы или перешли в эту папку с помощью команды cd. По команде «adb devices» должен выдавать некий номер и справа от него «device». Это значит, что adb видит телефон и может с ним работать. Если вместо «device» что-то другое или вообще «List of devices attached» — проблема где-то на 4-5 шаге.

Далее вам нужно поместить системный файл, который вы хотите установить, в папку platform-tools. То есть запасная копия системного файла должна быть приготовлена заранее или скопирована с аналогичного телефона.

После этого можно закинуть системный файл в /system/app такой последовательностью команд:

$adb push YourFile.apk /data/Yourfile.apk
$adb remount
$adb shell
$su
#cp -f /data/YourFile.apk /system/app/Yourfile.apk
#chmod 644 /system/app/YourFile.apk
#exit
$exit
$adb reboot

где YourFile.apk — имя вашего системного файла, причем регистр букв имеет значение.
После последней команды Ваш телефон должен перезагрузиться уже с новыми файлами.
Если на команду «adb remount» Вы получаете ответ «remount failed: Operation not permitted», то попробуйте вместо нее после «su» ввести "#mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system".

P.S.: В линуксе, если platform-tools не добавлена в $PATH, вместо «adb» нужно писать "./adb".

В этой статье команды, которые я запускал от имени обычного пользователя обозначены символом $ в начале строки, от имени root — символом #.
  • –1
  • 36.1k
  • 9
Share post

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 9

    0
    3) В «Параметры — Программы — Отладка» должна стоять галочка на «Отладка по USB»
    То есть, если не был включён данный режим до того, как всё упало, то уже никак не восстановить?
      0
      В некоторых reсovery отладка включается по умолчанию.
      +1
      Основное условие, как я понимаю, на телефоне предварительно должен быть получен ROOT
        0
        Да, думаю без рута не получится удалить SystemUI.apk «по глупости»
          0
          Тоже такая мысль. Если есть рут, то есть любой файл-менеджер на дроиде, который решает вопрос наглядно.
          0
          Было бы отлично почитать статью о внутреннем составе прошивок из чего они состоят и какой файл за что отвечает. Возможно где-то есть даже исходники каких-то компонентов. В частности это многим могло бы выпилить какие-то встроенные приложения и игры зашитые в телефон.
            0
            Возможно будет полезна эта тема на 4pda:
            4pda.ru/forum/index.php?showtopic=236256
            Там есть список стоковых приложений с описаниями.
              0
              Почти каждый компонент с открытым исходным кодом запросто гуглится, об остальных можно судить лишь по отзывам пользователей.
              0
              Если андроид => 4.2 — то не все так просто. Кроме включения режима отладки в настройках, необходима как минимум одно успешное соединение именно с этим компьютером, при котором нужно будет подтвердить доступ тапом на экране.

              Only users with full accounts can post comments. Log in, please.