А вы знаете что в ОС Android можно легко и просто создать патч и после легко наложить на существующий файл, а если что-то пошло не так, откатить его? Интересно?
Данная информация будет полезна начинающим разработчикам Android, ромоделам, а также просто любителям экспериментов. В данной статье будет подробно расписан процесс создания и применения патча для текстовых файлов с помощью терминала.
К примеру вы создали копию системного файла Android и изменили его, после чего вы можете создать патч и применить на рабочей системе и в дальнейшем откатить его.
К сожалению предложенная информация в Интернет не работает, поэтому и был написан данный материал, да и не написан он для Android был.
Необходимое для работы
- Компьютер или ноутбук;
- Неповрежденный кабель USB;
- Скачать средство отладки ADB или программа Adb Run;
- Включить «Отладку по USB» на Android;
- Установленные Root права на Android;
- Установить BusyBox на Android.
Создание и применение патча Android
После того как все установили и настроили, приступим к созданию патча на примере файла build.prop.
Запускаем программу Adb Run и переходим в меню Manual Command -> ADB:
Копируем файл на компьютер
Вводим команду:
adb pull /system/build.prop %USERPROFILE%\Desktop
[spoiler title=’вывод терминала’ style=’default’ collapse_link=’true’]
C:\adb\progbin>adb pull /system/build.prop %USERPROFILE%\Desktop
583 KB/s (9342 bytes in 0.015s)
[/spoiler]
После чего файл build.prop будет скопирован на рабочий стол. Далее открываем его, редактируем, вносим свои правки и сохраняем изменения, даем другое имя.
[spoiler title=’пример изменения’ style=’default’ collapse_link=’true’]Напишем в начале файла build.prop: #Hello moto[/spoiler]
Отправка файла на Android
Вводим команду:
adb push %USERPROFILE%\Desktop\new_build.prop /sdcard/
[spoiler title=’вывод терминала’ style=’default’ collapse_link=’true’]
C:\adb\progbin>adb push %USERPROFILE%\Desktop\new_build.prop /sdcard/
56 KB/s (9342 bytes in 0.162s)
[/spoiler]
Файл build.prop будет скопирован во внутреннюю память или SD карту. Теперь его необходимо перебросить в системный раздел, но перед этим его необходимо сделать доступным к записи.
Вводим команду на разрешение записи в раздел system:
adb shell
su
mount -o rw,remount,rw /system
[spoiler title=’вывод терминала’ style=’default’ collapse_link=’true’]
C:\adb\progbin>adb shell
shell@g2:/ $ su
root@g2:/ # mount -o rw,remount,rw /system
root@g2:/ #
[/spoiler]
И теперь перебрасываем файл в системный раздел:
cp /storage/emulated/0/new_build.prop /system
[spoiler title=’если не копирует’ style=’default’ collapse_link=’true’]
попробуйте использовать команды на выбор:
cp /sdcard/new_build.prop /system
или
cp /sdcard0/new_build.prop /system
Можно выяснить экспериментальным путем.
[/spoiler]
Создаем патч
Переходим в системный раздел:
cd /system
Создаем патч:
diff -u new_build.prop build.prop > ptch.diff
После чего будет создан файл с ptch.diff в котором будут содержаться строки необходимые для замены.
[spoiler title=’пример файла патча’ style=’default’ collapse_link=’true’]
--- 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
[/spoiler]
Применяем патч
Для того чтобы применить патч с внесенными изменениями вводим команду:
patch -R < ptch.diff
[spoiler title=’вывод терминала’ style=’default’ collapse_link=’true’]
root@g2:/system # patch -R < ptch.diff
patching file build.prop
root@g2:/system #
[/spoiler]
Собственно все, системный текстовый файл Android пропатчен!
Вот и все! Больше статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!