You've already forked KernelSU
mirror of
https://github.com/tiann/KernelSU.git
synced 2025-08-27 23:46:34 +00:00
2 lines
4.7 KiB
JavaScript
2 lines
4.7 KiB
JavaScript
import{_ as e,o as i,c as a,O as s}from"./chunks/framework.43781440.js";const m=JSON.parse('{"title":"Различия с Magisk","description":"","frontmatter":{},"headers":[],"relativePath":"ru_RU/guide/difference-with-magisk.md","filePath":"ru_RU/guide/difference-with-magisk.md"}'),o={name:"ru_RU/guide/difference-with-magisk.md"},l=s('<h1 id="title" tabindex="-1">Различия с Magisk <a class="header-anchor" href="#title" aria-label="Permalink to "Различия с Magisk {#title}""></a></h1><p>Несмотря на большое количество сходств между модулями KernelSU и модулями Magisk, неизбежно возникают и различия, обусловленные совершенно разными механизмами их реализации. Если вы хотите, чтобы ваш модуль работал как на Magisk, так и на KernelSU, вы должны понимать эти различия.</p><h2 id="similarities" tabindex="-1">Сходства <a class="header-anchor" href="#similarities" aria-label="Permalink to "Сходства {#similarities}""></a></h2><ul><li>Формат файлов модулей: оба используют формат zip для организации модулей, и формат модулей практически одинаков</li><li>Каталог установки модулей: оба расположены в <code>/data/adb/modules</code>.</li><li>Бессистемность: оба поддерживают модификацию /system бессистемным способом через модули</li><li>post-fs-data.sh: время выполнения и семантика полностью совпадают</li><li>service.sh: время выполнения и семантика полностью совпадают</li><li>system.prop: полностью совпадает</li><li>sepolicy.rule: полностью совпадает</li><li>BusyBox: скрипты запускаются в BusyBox с включенным "автономным режимом" в обоих случаях</li></ul><h2 id="differences" tabindex="-1">Различия <a class="header-anchor" href="#differences" aria-label="Permalink to "Различия {#differences}""></a></h2><p>Прежде чем разбираться в различиях, необходимо знать, как отличить, в каком режиме работает ваш модуль - KernelSU или Magisk. Для этого можно использовать переменную окружения <code>KSU</code> во всех местах, где можно запустить скрипты модуля (<code>customize.sh</code>, <code>post-fs-data.sh</code>, <code>service.sh</code>). В KernelSU эта переменная окружения будет установлена в значение <code>true</code>.</p><p>Вот некоторые отличия:</p><ul><li>Модули KernelSU не могут быть установлены в режиме Recovery.</li><li>Модули KernelSU не имеют встроенной поддержки Zygisk (но вы можете использовать модули Zygisk через <a href="https://github.com/Dr-TSNG/ZygiskOnKernelSU" target="_blank" rel="noreferrer">ZygiskOnKernelSU</a>.</li><li>Метод замены или удаления файлов в модулях KernelSU полностью отличается от Magisk. KernelSU не поддерживает метод <code>.replace</code>. Вместо этого необходимо создать одноименный файл с помощью команды <code>mknod filename c 0 0</code> для удаления соответствующего файла.</li><li>Каталоги для BusyBox отличаются. Встроенный BusyBox в KernelSU находится в каталоге <code>/data/adb/ksu/bin/busybox</code>, а в Magisk - в каталоге <code>/data/adb/magisk/busybox</code>. <strong>Обратите внимание, что это внутреннее поведение KernelSU и в будущем оно может измениться!</strong></li><li>KernelSU не поддерживает файлы <code>.replace</code>; однако KernelSU поддерживает переменные <code>REMOVE</code> и <code>REPLACE</code> для удаления или замены файлов и папок.</li></ul>',8),r=[l];function t(d,c,n,u,h,_){return i(),a("div",null,r)}const p=e(o,[["render",t]]);export{m as __pageData,p as default};
|