Установка
Подготовка
- Перед рутированием убедитесь, что загрузчик вашего устройства разблокирован.
- Если у вас уже есть root права, вы можете выполнить команду
zcat /proc/config.gz | grep -w CONFIG_KALLSYMS
в терминале или ADB, чтобы убедиться, что ваше ядро поддерживает патчинг. - Нажмите сюда, чтобы получить последнюю стабильную версию APatch Manager.
- Извлеките
boot.img
из вашей прошивки или из другого источника, содержащего стоковыйboot.img
вашего устройства. Он понадобится вам позже для патчинга. - Сделайте резервную копию извлеченного
boot.img
на компьютер, USB-накопитель или другое устройство. Если возникнут какие-либо проблемы, вы можете прошить оригинальныйboot.img
через fastboot, чтобы восстановить устройство.
TIP
- Убедитесь, что вы используете последние версии инструментов ADB и fastboot и знаете, как ими пользоваться, прежде чем переходить к следующему шагу. Если вы еще не знакомы с ними, рекомендуем сначала изучить их.
- APatch всегда патчит
boot.img
любого устройства. Не пытайтесь патчить или прошиватьinit_boot
или другие файлы образов разделов. Разработчики APatch не несут ответственности за сбой патча и загрузки устройства в таком случае. - Избегайте использования файла
boot.img
, который был пропатчен другими людьми, чтобы избежать непредвиденных ситуаций.
Требования к установке
Требования к установке APatch в основном отражены в конфигурации ядра. Вот требования к ядру:
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
или:
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=n (Initial support)
TIP
Если у вас уже есть root права, вы можете выполнить команду zcat /proc/config.gz | grep -w CONFIG_KALLSYMS
в терминале или ADB, чтобы убедиться, что ваше ядро поддерживает патчинг.
WARNING
Поддерживается только архитектура ARM64.
Поддерживаются только ядра Android версий 3.18 - 6.1
Патчинг
Автоматический патчинг
- Загрузите последнюю версию APatch Manager с GitHub.
- Нажмите на кнопку в правом верхнем углу и выберите
Select a boot image to Patch
. - Выберите ваш
boot.img
. - Установите SuperKey в карточке "SuperKey". SuperKey должен содержать цифры и буквы и иметь длину не менее 8 символов. Он будет использоваться позже для разблокировки root-прав.
WARNING
Строго запрещено устанавливать слабые ключи, такие как 12345678
. Последние версии APatch требуют использования сильных ключей.
- Нажмите кнопку "Start" и подождите. После успешного патчинга будет отображен путь к пропатченному
boot.img
. Например:/storage/emulated/0/Download/apatch_version_version_randomletter.img
.
Наконец, вы можете прошить образ.
Ручной патчинг
Когда KernelPatch обновляется, а APatch Manager остается неизменным, вы можете вручную пропатчить ядро.
Вы можете перейти к проекту KernelPatch, чтобы получить последние файлы KP
.
Windows
- Загрузите
kptools-win.zip
,kpimg-android
иmagiskboot
. Извлеките их в один каталог для использования. - Выполните эту команду:
magiskboot.exe unpack boot.img
чтобы распаковать boot.img
и получить файл ядра. Переименуйте ядро в kernel-b. (kernel-b может быть любым кастомным ядром, но работа на кастомных ядрах не гарантированна и не будет поддерживаться).
Пользователи Windows могут выполнять патчинг с помощью CMD
или PowerShell
.
Выполните эту команду для патчинга:
kptools-x86_64-win.exe -p --image kernel-b --skey "YourKey" --kpimg kpimg-android --out kernel
В качестве альтернативы рекомендуется использовать WSL
с Linux
для патчинга:
./kptools-linux -p --image kernel-b --skey "YourKey" --kpimg kpimg-android --out kernel
Если во время патчинга не было сообщено об ошибках, выполните эту команду:
magiskboot.exe repack boot.img
чтобы упаковать и сгенерировать образ. Сгенерированный new-boot.img
является пропатченным образом.
Linux
- Загрузите
kptools-linux
,kpimg-android
иmagiskboot
. - Выполните эту команду:
magiskboot unpack boot.img
чтобы распаковать boot.img
и получить файл ядра. Переименуйте ядро в kernel-b (Повторяем, kernel-b может быть любым кастомным ядром, но работа на кастомных ядрах не гарантированна и не будет поддерживаться).
Выполните эту команду для патчинга:
./kptools-linux -p --image kernel-b --skey "YourKey" --kpimg kpimg-android --out kernel
Если во время патчинга не было сообщено об ошибках, выполните эту команду:
magiskboot repack boot.img
чтобы упаковать и сгенерировать образ. Сгенерированный new-boot.img
является пропатченным образом.
INFO
Вы также можете попробовать онлайн патчинг.
Команды KernelPatch (KP) и комментарии:
INFO
Вы можете нажать сюда, чтобы попробовать.
Команды:
-h, --help Вывести это сообщение
-v, --version Вывести номер версии. Вывести версию kpimg, если указан -k
-p, --patch Патчить или обновить патч образа ядра(-i) с указанным kpimg(-k) и superkey(-s)
-u, --unpatch Удалить патч из пропатченного образа ядра(-i)
-r, --reset-skey Сбросить superkey пропатченного образа(-i)
-d, --dump Вывести информацию kallsyms образа ядра(-i)
-l, --list Вывести всю информацию о патчах образа ядра, если указан (-i)
Вывести дополнительную информацию об элементах, если указан (-M)
Вывести информацию об образе KernelPatch, если указан (-k)
Опции:
-i, --image PATH Путь к образу ядра
-k, --kpimg PATH Путь к образу KernelPatch
-s, --skey KEY Установить superkey и сохранить его непосредственно в boot.img
-S, --root-skey KEY Установить root-superkey, который использует хеш-верификацию, и superkey может быть изменен динамически
-o, --out PATH Путь к пропатченному образу
-a --addition KEY=VALUE Добавить дополнительную информацию
-K, --kpatch PATH Встроить исполняемый файл kpatch в патчи
-M, --embed-extra-path PATH Встроить новый дополнительный элемент
-E, --embeded-extra-name NAME Сохранить и изменить встроенный дополнительный элемент
-T, --extra-type TYPE Установить тип предыдущего дополнительного элемента
-N, --extra-name NAME Установить имя предыдущего дополнительного элемента
-V, --extra-event EVENT Установить событие запуска предыдущего дополнительного элемента
-A, --extra-args ARGS Установить аргументы предыдущего дополнительного элемента
-D, --extra-detach Отсоединить предыдущий дополнительный элемент от патчей
Прошивка
Использование fastboot
INFO
Этот метод удобен и стабилен, вы можете легко восстановить ваше устройство, если что-то пошло не так. Мы настоятельно рекомендуем использовать этот способ прошивки.
Подключите ваше устройство с помощью ADB
и выполните следующую команду, чтобы войти в режим fastboot:
adb reboot bootloader
При входе в режим fastboot выполните эту команду:
fastboot flash boot boot.img
INFO
Если ваше устройство поддерживает команду fastboot boot
, вы можете использовать команду fastboot boot boot.img
, чтобы загрузить систему перед прошивкой образа. Если произойдет какая-либо ошибка, просто перезагрузите устройство, и оно вернется в обычное состояние.
По завершению прошивки перезагрузите устройство:
fastboot reboot
Прямая прошивка
ПОСЛЕДНЯЯ версия APatch поддерживает прямую прошивку через стороннее Recovery (например, TWRP).
WARNING
Прямая прошивка впервые представлена в версии 10888
, и более ранние версии APatch НЕ поддерживают этот метод.
Измените расширение файла APatch Manager (.apk) на .zip
. Например:
[username@localhost Demo] $ ls
APatch-10888-release.apk
[username@localhost Demo] $ mv APatch-10888-release.apk APatch-10888-release.zip
[username@localhost Demo] $ ls
APatch-10888-release.zip
[username@localhost Demo] $
После этого вы можете прошить этот файл .zip
через функцию Flash стороннего Recovery. APatch будет автоматически установлен, как и Magisk.
TIP
Функция adb sideload
, используемая Recovery, предоставляемым сторонними AOSP-подобными прошивками, также поддерживается.
WARNING
Прямая прошивка НЕ поддерживает настройку SuperKey! Вместо этого SuperKey будет установлен как комбинация случайных чисел и букв. Если вам нужно настроить SuperKey, пожалуйста, зайдите в APatch manager после загрузки и перепатчите, чтобы сбросить SuperKey.
Удаление
Автоматическое удаление
WARNING
Автоматическое удаление впервые представлено в версии 10888
, и более ранние версии APatch НЕ поддерживают этот метод.
Измените расширение файла APatch manager (.apk) на .zip
и добавьте uninstall
в имя файла. Например:
[username@localhost Demo] $ ls
APatch-10888-release.apk
[username@localhost Demo] $ mv APatch-10888-release.apk APatch-10888-release-uninstall.zip
[username@localhost Demo] $ ls
APatch-10888-release-uninstall.zip
[username@localhost Demo] $
После этого вы можете прошить этот файл .zip
через функцию Flash стороннего Recovery. APatch будет автоматически удален, как и Magisk.
TIP
Функция adb sideload
, используемая Recovery, предоставляемым сторонними AOSP-подобными прошивками, также поддерживается.
Ручное удаление
Прошейте ваш стоковый boot.img
в режиме bootloader
.
fastboot flash boot PATH/TO/boot.img
WARNING
Не используйте init_boot
!