Skip to content

Установка

Подготовка

  1. Перед рутированием убедитесь, что загрузчик вашего устройства разблокирован.
  2. Если у вас уже есть root права, вы можете выполнить команду zcat /proc/config.gz | grep -w CONFIG_KALLSYMS в терминале или ADB, чтобы убедиться, что ваше ядро поддерживает патчинг.
  3. Нажмите сюда, чтобы получить последнюю стабильную версию APatch Manager.
  4. Извлеките boot.img из вашей прошивки или из другого источника, содержащего стоковый boot.img вашего устройства. Он понадобится вам позже для патчинга.
  5. Сделайте резервную копию извлеченного boot.img на компьютер, USB-накопитель или другое устройство. Если возникнут какие-либо проблемы, вы можете прошить оригинальный boot.img через fastboot, чтобы восстановить устройство.

TIP

  1. Убедитесь, что вы используете последние версии инструментов ADB и fastboot и знаете, как ими пользоваться, прежде чем переходить к следующему шагу. Если вы еще не знакомы с ними, рекомендуем сначала изучить их.
  2. APatch всегда патчит boot.img любого устройства. Не пытайтесь патчить или прошивать init_boot или другие файлы образов разделов. Разработчики APatch не несут ответственности за сбой патча и загрузки устройства в таком случае.
  3. Избегайте использования файла boot.img, который был пропатчен другими людьми, чтобы избежать непредвиденных ситуаций.

Требования к установке

Требования к установке APatch в основном отражены в конфигурации ядра. Вот требования к ядру:

txt
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y

или:

txt
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

Патчинг

Автоматический патчинг

  1. Загрузите последнюю версию APatch Manager с GitHub.
  2. Нажмите на кнопку Patch Button в правом верхнем углу и выберите Select a boot image to Patch.
  3. Выберите ваш boot.img.
  4. Установите SuperKey в карточке "SuperKey". SuperKey должен содержать цифры и буквы и иметь длину не менее 8 символов. Он будет использоваться позже для разблокировки root-прав.

WARNING

Строго запрещено устанавливать слабые ключи, такие как 12345678. Последние версии APatch требуют использования сильных ключей.

  1. Нажмите кнопку "Start" и подождите. После успешного патчинга будет отображен путь к пропатченному boot.img. Например: /storage/emulated/0/Download/apatch_version_version_randomletter.img.

Наконец, вы можете прошить образ.

Ручной патчинг

Когда KernelPatch обновляется, а APatch Manager остается неизменным, вы можете вручную пропатчить ядро.

Вы можете перейти к проекту KernelPatch, чтобы получить последние файлы KP.

Windows

  1. Загрузите kptools-win.zip, kpimg-android и magiskboot. Извлеките их в один каталог для использования.
  2. Выполните эту команду:
cmd
magiskboot.exe unpack boot.img

чтобы распаковать boot.img и получить файл ядра. Переименуйте ядро в kernel-b. (kernel-b может быть любым кастомным ядром, но работа на кастомных ядрах не гарантированна и не будет поддерживаться).

Пользователи Windows могут выполнять патчинг с помощью CMD или PowerShell.

Выполните эту команду для патчинга:

cmd
kptools-x86_64-win.exe -p --image kernel-b --skey "YourKey" --kpimg kpimg-android --out kernel

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

cmd
./kptools-linux -p --image kernel-b --skey "YourKey" --kpimg kpimg-android --out kernel

Если во время патчинга не было сообщено об ошибках, выполните эту команду:

cmd
magiskboot.exe repack boot.img

чтобы упаковать и сгенерировать образ. Сгенерированный new-boot.img является пропатченным образом.


Linux

  1. Загрузите kptools-linux, kpimg-android и magiskboot.
  2. Выполните эту команду:
sh
magiskboot unpack boot.img

чтобы распаковать boot.img и получить файл ядра. Переименуйте ядро в kernel-b (Повторяем, kernel-b может быть любым кастомным ядром, но работа на кастомных ядрах не гарантированна и не будет поддерживаться).

Выполните эту команду для патчинга:

sh
./kptools-linux -p --image kernel-b --skey "YourKey" --kpimg kpimg-android --out kernel

Если во время патчинга не было сообщено об ошибках, выполните эту команду:

sh
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:

sh
adb reboot bootloader

При входе в режим fastboot выполните эту команду:

sh
fastboot flash boot boot.img

INFO

Если ваше устройство поддерживает команду fastboot boot, вы можете использовать команду fastboot boot boot.img, чтобы загрузить систему перед прошивкой образа. Если произойдет какая-либо ошибка, просто перезагрузите устройство, и оно вернется в обычное состояние.

По завершению прошивки перезагрузите устройство:

sh
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.

sh
fastboot flash boot PATH/TO/boot.img

WARNING

Не используйте init_boot!