Замена Системных Файлов Android С Помощью Adb

Способ может пригодиться, если «ничего не помогает», нет доступа к Root Explorer или телефон вообще не загружается.

В моем случае мне пришлось восстанавливать SystemUI.apk, который был тупо удален, в «боевом» режиме.

При этом что-то сделать на телефоне можно было лишь за долю секунды между нажатием кнопки «ОК» на предыдущем окне с ошибкой и появлением следующего аналогичного окна.

Перепрошиваться не хотелось, поэтому пришлось срочно осваивать адб.

Итак, для того, чтобы подключить телефон Google к adb, вам необходимо: 1) Android SDK для вашей системы (здесь — на примере GNU/Linux Ubuntu) 2) Инструменты платформы Android SDK (устанавливаются путем установки соответствующего флажка в Android SDK) 3) В «Параметры – Программы – Отладка» должна стоять галочка «Отладка по USB» 4) Подключите телефон к USB. 5) В моем случае мне пришлось сделать еще две вещи: указать идентификатор производителя телефона 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

Итак, все установлено и подключено, вы добавили путь к платформенным инструментам в переменную $PATH вашей операционной системы или перешли в эту папку с помощью команды cd. Команда «adb devices» должна отображать определенное число и справа от него «устройство».

Это значит, что адб видит телефон и может с ним работать.

Если вместо «устройство» стоит что-то другое или даже «Список подключенных устройств» — проблема где-то в шаге 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 — имя вашего системного файла, регистр букв имеет значение.

После последней команды ваш телефон должен перезагрузиться с новыми файлами.

Если вы получили ответ «remount не удалось: операция не разрешена» на команду «adb remount», попробуйте вместо этого после «su», введя «#mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system».

.

P.S.: В Linux, если в $PATH не добавлены платформенные инструменты, вместо «adb» нужно написать «.

/adb».

В этой статье команды, которые я запускал от имени обычного пользователя, обозначены символом $ в начале строки, а от имени пользователя root — символом #.

Теги: #Android #android sdk #linux #разработка Android

Вместе с данным постом часто просматривают: