Применение патчей в Android

А вы знаете что в ОС Android можно легко и просто создать патч и после легко наложить на существующий файл, а если что-то пошло не так, откатить его? Интересно?

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

К примеру вы создали копию системного файла Android и изменили его, после чего вы можете создать патч и применить на рабочей системе и в дальнейшем откатить его.

К сожалению предложенная информация в Интернет не работает, поэтому и был написан данный материал, да и не написан он для Android был. 

Необходимое для работы

  1. Компьютер или ноутбук;
  2. Неповрежденный кабель USB;
  3. Скачать средство отладки ADB или программа Adb Run;
  4. Включить «Отладку по USB» на Android;
  5. Установленные Root права на Android;
  6. Установить BusyBox на Android.Применение патчей в Android

Создание и применение патча Android

После того как все установили и настроили приступим к созданию патча на примере файла build.prop.

Запускаем программу Adb Run и переходим в меню Manual Command -> ADB:adb_run_adb

Копируем файл на компьютер

Вводим команду:

adb pull /system/build.prop %USERPROFILE%\Desktop

вывод терминала



C:\adb\progbin>adb pull /system/build.prop %USERPROFILE%\Desktop
583 KB/s (9342 bytes in 0.015s)

[свернуть]

После чего файл build.prop будет скопирован на рабочий стол. Далее открываем его, редактируем, вносим свои правки и сохраняем изменения, даем другое имя.

пример изменения

Напишем в начале файла build.prop: #Hello moto

[свернуть]

Отправка файла на Android

Вводим команду:

adb push %USERPROFILE%\Desktop\new_build.prop /sdcard/

вывод терминала

C:\adb\progbin>adb push %USERPROFILE%\Desktop\new_build.prop /sdcard/
56 KB/s (9342 bytes in 0.162s)

[свернуть]

Файл build.prop будет скопирован во внутреннюю память или SD карту. Теперь его необходимо перебросить в системный раздел, но перед этим его необходимо сделать доступным к записи.

Вводим команду на разрешение записи в раздел system:

adb shell

su

mount -o rw,remount,rw /system

вывод терминала

C:\adb\progbin>adb shell
shell@g2:/ $ su
root@g2:/ # mount -o rw,remount,rw /system
root@g2:/ #

[свернуть]

И теперь перебрасываем файл в системный раздел:

cp /storage/emulated/0/new_build.prop /system

если не копирует

попробуйте использовать команды на выбор:

cp /sdcard/new_build.prop /system

или

cp /sdcard0/new_build.prop /system

Можно выяснить экспериментальным путем.

[свернуть]

Создаем патч

Переходим в системный раздел:

cd /system

Создаем патч:

diff -u new_build.prop  build.prop  > ptch.diff

После чего будет создан файл с ptch.diff в котором будут содержаться строки необходимые для замены.

пример файла патча

--- new_build.prop
+++ build.prop
@@ -1,5 +1,4 @@
# begin build properties
-#Hello moto
# autogenerated by buildinfo.sh
ro.build.id=LRX22G
ro.build.display.id=LRX22G

[свернуть]

Применяем патч

Для того чтобы применить патч с внесенными изменениями вводим команду:

patch -R < ptch.diff

вывод терминала

root@g2:/system # patch -R < ptch.diff
patching file build.prop
root@g2:/system #

[свернуть]

Собственно все, системный текстовый файл Android пропатчен!

Вот и все! Больше статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!