You've already forked KernelSU
mirror of
https://github.com/tiann/KernelSU.git
synced 2025-08-27 23:46:34 +00:00
183 lines
77 KiB
HTML
183 lines
77 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="ja-JP" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>モジュールのガイド | KernelSU</title>
|
||
<meta name="description" content="Android GKI デバイス向けのカーネルベースの root ソリューション">
|
||
<link rel="preload stylesheet" href="/assets/style.aaa90101.css" as="style">
|
||
|
||
<script type="module" src="/assets/app.a2c23f3d.js"></script>
|
||
<link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
|
||
<link rel="modulepreload" href="/assets/chunks/framework.ec8f7e8e.js">
|
||
<link rel="modulepreload" href="/assets/chunks/theme.4b73f3e8.js">
|
||
<link rel="modulepreload" href="/assets/ja_JP_guide_module.md.dbefd5cf.lean.js">
|
||
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"><div class="Layout" data-v-5a346dfe><!--[--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5a346dfe data-v-ae24b3ad><div class="VPNavBar has-sidebar" data-v-ae24b3ad data-v-a0fd61f4><div class="container" data-v-a0fd61f4><div class="title" data-v-a0fd61f4><div class="VPNavBarTitle has-sidebar" data-v-a0fd61f4 data-v-86d1bed8><a class="title" href="/ja_JP/" data-v-86d1bed8><!--[--><!--]--><!----><!--[-->KernelSU<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-a0fd61f4><div class="curtain" data-v-a0fd61f4></div><div class="content-body" data-v-a0fd61f4><!--[--><!--]--><div class="VPNavBarSearch search" data-v-a0fd61f4><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-a0fd61f4 data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/ja_JP/guide/what-is-kernelsu.html" tabindex="0" data-v-7f418b0f data-v-42ef59de><!--[--><span data-v-42ef59de>ガイド</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://github.com/tiann/KernelSU" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-42ef59de><!--[--><span data-v-42ef59de>Github</span><!--]--></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-a0fd61f4 data-v-74abcbb9 data-v-9c007e85><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-9c007e85><span class="text" data-v-9c007e85><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="option-icon" data-v-9c007e85><path d="M0 0h24v24H0z" fill="none"></path><path d=" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z " class="css-c4d79v"></path></svg><!----><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-9c007e85><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-9c007e85><div class="VPMenu" data-v-9c007e85 data-v-e7ea1737><!----><!--[--><!--[--><div class="items" data-v-74abcbb9><p class="title" data-v-74abcbb9>日本語</p><!--[--><div class="VPMenuLink" data-v-74abcbb9 data-v-43f1e123><a class="VPLink link" href="/guide/module.html" data-v-43f1e123><!--[-->English<!--]--></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-43f1e123><a class="VPLink link" href="/zh_CN/guide/module.html" data-v-43f1e123><!--[-->简体中文<!--]--></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-43f1e123><a class="VPLink link" href="/zh_TW/guide/module.html" data-v-43f1e123><!--[-->繁體中文<!--]--></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-43f1e123><a class="VPLink link" href="/vi_VN/guide/module.html" data-v-43f1e123><!--[-->Tiếng Việt<!--]--></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-43f1e123><a class="VPLink link" href="/id_ID/guide/module.html" data-v-43f1e123><!--[-->Bahasa<!--]--></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-43f1e123><a class="VPLink link" href="/ru_RU/guide/module.html" data-v-43f1e123><!--[-->Русский<!--]--></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-43f1e123><a class="VPLink link" href="/pt_BR/guide/module.html" data-v-43f1e123><!--[-->Português (Brasil)<!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-a0fd61f4 data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-e6aabb21 data-v-ce54a7d1 data-v-b1685198><span class="check" data-v-b1685198><span class="icon" data-v-b1685198><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-ce54a7d1><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-ce54a7d1><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-a0fd61f4 data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/tiann/KernelSU" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-f80f8133><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-a0fd61f4 data-v-d0bd9dde data-v-9c007e85><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-9c007e85><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-9c007e85><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-9c007e85><div class="VPMenu" data-v-9c007e85 data-v-e7ea1737><!----><!--[--><!--[--><div class="group translations" data-v-d0bd9dde><p class="trans-title" data-v-d0bd9dde>日本語</p><!--[--><div class="VPMenuLink" data-v-d0bd9dde data-v-43f1e123><a class="VPLink link" href="/guide/module.html" data-v-43f1e123><!--[-->English<!--]--></a></div><div class="VPMenuLink" data-v-d0bd9dde data-v-43f1e123><a class="VPLink link" href="/zh_CN/guide/module.html" data-v-43f1e123><!--[-->简体中文<!--]--></a></div><div class="VPMenuLink" data-v-d0bd9dde data-v-43f1e123><a class="VPLink link" href="/zh_TW/guide/module.html" data-v-43f1e123><!--[-->繁體中文<!--]--></a></div><div class="VPMenuLink" data-v-d0bd9dde data-v-43f1e123><a class="VPLink link" href="/vi_VN/guide/module.html" data-v-43f1e123><!--[-->Tiếng Việt<!--]--></a></div><div class="VPMenuLink" data-v-d0bd9dde data-v-43f1e123><a class="VPLink link" href="/id_ID/guide/module.html" data-v-43f1e123><!--[-->Bahasa<!--]--></a></div><div class="VPMenuLink" data-v-d0bd9dde data-v-43f1e123><a class="VPLink link" href="/ru_RU/guide/module.html" data-v-43f1e123><!--[-->Русский<!--]--></a></div><div class="VPMenuLink" data-v-d0bd9dde data-v-43f1e123><a class="VPLink link" href="/pt_BR/guide/module.html" data-v-43f1e123><!--[-->Português (Brasil)<!--]--></a></div><!--]--></div><div class="group" data-v-d0bd9dde><div class="item appearance" data-v-d0bd9dde><p class="label" data-v-d0bd9dde>Appearance</p><div class="appearance-action" data-v-d0bd9dde><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="toggle dark mode" aria-checked="false" data-v-d0bd9dde data-v-ce54a7d1 data-v-b1685198><span class="check" data-v-b1685198><span class="icon" data-v-b1685198><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-ce54a7d1><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-ce54a7d1><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-d0bd9dde><div class="item social-links" data-v-d0bd9dde><div class="VPSocialLinks social-links-list" data-v-d0bd9dde data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/tiann/KernelSU" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-f80f8133><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-a0fd61f4 data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><!----></header><div class="VPLocalNav reached-top" data-v-5a346dfe data-v-79c8c1df><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-79c8c1df><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="menu-icon" data-v-79c8c1df><path d="M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"></path><path d="M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"></path><path d="M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"></path><path d="M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"></path></svg><span class="menu-text" data-v-79c8c1df>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-79c8c1df data-v-1c15a60a><button data-v-1c15a60a>Return to top</button><!----></div></div><aside class="VPSidebar" data-v-5a346dfe data-v-b00e2fdd><div class="curtain" data-v-b00e2fdd></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-b00e2fdd><span class="visually-hidden" id="sidebar-aria-label" data-v-b00e2fdd> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-b00e2fdd><section class="VPSidebarItem level-0 has-active" data-v-b00e2fdd data-v-e31bd47b><div class="item" role="button" tabindex="0" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><h2 class="text" data-v-e31bd47b>ガイド</h2><!----></div><div class="items" data-v-e31bd47b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-e31bd47b data-v-e31bd47b><div class="item" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><a class="VPLink link link" href="/ja_JP/guide/what-is-kernelsu.html" data-v-e31bd47b><!--[--><p class="text" data-v-e31bd47b>KernelSU とは?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e31bd47b data-v-e31bd47b><div class="item" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><a class="VPLink link link" href="/ja_JP/guide/installation.html" data-v-e31bd47b><!--[--><p class="text" data-v-e31bd47b>インストール</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e31bd47b data-v-e31bd47b><div class="item" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><a class="VPLink link link" href="/guide/how-to-build.html" data-v-e31bd47b><!--[--><p class="text" data-v-e31bd47b>ビルドするには?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e31bd47b data-v-e31bd47b><div class="item" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><a class="VPLink link link" href="/guide/how-to-integrate-for-non-gki.html" data-v-e31bd47b><!--[--><p class="text" data-v-e31bd47b>非 GKI デバイスでの実装</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e31bd47b data-v-e31bd47b><div class="item" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><a class="VPLink link link" href="/ja_JP/guide/unofficially-support-devices.html" data-v-e31bd47b><!--[--><p class="text" data-v-e31bd47b>非公式の対応デバイス</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e31bd47b data-v-e31bd47b><div class="item" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><a class="VPLink link link" href="/ja_JP/guide/module.html" data-v-e31bd47b><!--[--><p class="text" data-v-e31bd47b>モジュールのガイド</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e31bd47b data-v-e31bd47b><div class="item" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><a class="VPLink link link" href="/ja_JP/guide/rescue-from-bootloop.html" data-v-e31bd47b><!--[--><p class="text" data-v-e31bd47b>ブートループからの復旧</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e31bd47b data-v-e31bd47b><div class="item" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><a class="VPLink link link" href="/ja_JP/guide/faq.html" data-v-e31bd47b><!--[--><p class="text" data-v-e31bd47b>よくある質問</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-e31bd47b data-v-e31bd47b><div class="item" data-v-e31bd47b><div class="indicator" data-v-e31bd47b></div><a class="VPLink link link" href="/ja_JP/guide/hidden-features.html" data-v-e31bd47b><!--[--><p class="text" data-v-e31bd47b>隠し機能</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5a346dfe data-v-669faec9><div class="VPDoc has-sidebar has-aside" data-v-669faec9 data-v-6b87e69f><!--[--><!--]--><div class="container" data-v-6b87e69f><div class="aside" data-v-6b87e69f><div class="aside-curtain" data-v-6b87e69f></div><div class="aside-container" data-v-6b87e69f><div class="aside-content" data-v-6b87e69f><div class="VPDocAside" data-v-6b87e69f data-v-3f215769><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" role="navigation" data-v-3f215769 data-v-d330b1bb><div class="content" data-v-d330b1bb><div class="outline-marker" data-v-d330b1bb></div><div class="outline-title" role="heading" aria-level="2" data-v-d330b1bb>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-d330b1bb><span class="visually-hidden" id="doc-outline-aria-label" data-v-d330b1bb> Table of Contents for current page </span><ul class="root" data-v-d330b1bb data-v-d0ee3533><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-6b87e69f><div class="content-container" data-v-6b87e69f><!--[--><!--]--><!----><main class="main" data-v-6b87e69f><div style="position:relative;" class="vp-doc _ja_JP_guide_module" data-v-6b87e69f><div><h1 id="モジュールのガイド" tabindex="-1">モジュールのガイド <a class="header-anchor" href="#モジュールのガイド" aria-label="Permalink to "モジュールのガイド""></a></h1><p>KernelSU はシステムパーティションの整合性を維持しながら、システムディレクトリを変更する効果を実現するモジュール機構を提供します。この機構は一般に「システムレス」と呼ばれています。</p><p>KernelSU のモジュール機構は、Magisk とほぼ同じです。Magisk のモジュール開発に慣れている方であれば、KernelSU のモジュール開発も簡単でしょう。その場合は以下のモジュールの紹介は読み飛ばして、<a href="./difference-with-magisk.html">Magisk との違い</a>の内容だけ読めばOKです。</p><h2 id="busybox" tabindex="-1">Busybox <a class="header-anchor" href="#busybox" aria-label="Permalink to "Busybox""></a></h2><p>KernelSU には、機能的に完全な Busybox バイナリ (SELinux の完全サポートを含む) が同梱されています。実行ファイルは <code>/data/adb/ksu/bin/busybox</code> に配置されています。KernelSU の Busybox はランタイムに切り替え可能な「ASH スタンドアローンシェルモード」をサポートしています。このスタンドアロンモードとは、Busybox の <code>ash</code> シェルで実行する場合 <code>PATH</code> として設定されているものに関係なく、すべてのコマンドが Busybox 内のアプレットを直接使用するというものです。たとえば、<code>ls</code>、<code>rm</code>、<code>chmod</code> などのコマンドは、<code>PATH</code> にあるもの(Android の場合、デフォルトではそれぞれ <code>/system/bin/ls</code>, <code>/system/bin/rm</code>, <code>/system/bin/chmod</code>)ではなく、直接 Busybox 内部のアプレットを呼び出すことになります。これにより、スクリプトは常に予測可能な環境で実行され、どの Android バージョンで実行されていても常にコマンドを利用できます。Busybox を使用しないコマンドを強制的に実行するには、フルパスで実行ファイルを呼び出す必要があります。</p><p>KernelSU のコンテキストで実行されるすべてのシェルスクリプトは、Busybox の <code>ash</code> シェルでスタンドアロンモードが有効な状態で実行されます。サードパーティの開発者に関係するものとしては、すべてのブートスクリプトとモジュールのインストールスクリプトが含まれます。</p><p>この「スタンドアロンモード」機能を KernelSU 以外で使用したい場合、2つの方法で有効にできます:</p><ol><li>環境変数 <code>ASH_STANDALONE</code> を <code>1</code> にする<br>例: <code>ASH_STANDALONE=1 /data/adb/ksu/bin/busybox sh <script></code></li><li>コマンドラインのオプションで変更する:<br><code>/data/adb/ksu/bin/busybox sh -o standalone <script></code></li></ol><p>環境変数が子プロセスに継承されるため、その後に実行されるすべての <code>sh</code> シェルもスタンドアロンモードで実行されるようにするにはオプション 1 が望ましい方法です(KernelSU と KernelSU Managerが内部的に使用しているのもこちらです)。</p><div class="tip custom-block"><p class="custom-block-title">Magisk との違い</p><p>KernelSU の Busybox は、Magisk プロジェクトから直接コンパイルされたバイナリファイルを使用するようになりました。Magisk と KernelSU の Busybox スクリプトはまったく同じものなので、互換性の問題を心配する必要はありません!</p></div><h2 id="kernelsu-モジュール" tabindex="-1">KernelSU モジュール <a class="header-anchor" href="#kernelsu-モジュール" aria-label="Permalink to "KernelSU モジュール""></a></h2><p>KernelSU モジュールは、<code>/data/adb/modules</code> に配置された以下の構造を持つフォルダーです:</p><div class="language-txt vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#e1e4e8;">/data/adb/modules</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">├── .</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">├── .</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">|</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">├── $MODID <--- フォルダの名前はモジュールの ID で付けます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │ *** モジュールの ID ***</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── module.prop <--- このファイルにモジュールのメタデータを保存します</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │ *** メインコンテンツ ***</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── system <--- skip_mount が存在しない場合、このフォルダがマウントされます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │ ├── ...</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │ ├── ...</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │ └── ...</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │ *** ステータスフラグ ***</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── skip_mount <--- 存在する場合、KernelSU はシステムフォルダをマウントしません</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── disable <--- 存在する場合、モジュールは無効化されます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── remove <--- 存在する場合、次の再起動時にモジュールが削除されます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │ *** 任意のファイル ***</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── post-fs-data.sh <--- このスクリプトは post-fs-data で実行されます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── service.sh <--- このスクリプトは late_start サービスで実行されます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">| ├── uninstall.sh <--- このスクリプトは KernelSU がモジュールを削除するときに実行されます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── system.prop <--- このファイルのプロパティは resetprop によってシステムプロパティとして読み込まれます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── sepolicy.rule <--- カスタム SEPolicy ルールを追加します</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │ *** 自動生成されるため、手動で作成または変更しないでください ***</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── vendor <--- $MODID/system/vendor へのシンボリックリンク</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── product <--- $MODID/system/product へのシンボリックリンク</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── system_ext <--- $MODID/system/system_ext へのシンボリックリンク</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │ *** その他のファイル/フォルダの追加も可能です ***</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ │</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── ...</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ └── ...</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">|</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">├── another_module</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ ├── .</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ └── .</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">├── .</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">├── .</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">/data/adb/modules</span></span>
|
||
<span class="line"><span style="color:#24292e;">├── .</span></span>
|
||
<span class="line"><span style="color:#24292e;">├── .</span></span>
|
||
<span class="line"><span style="color:#24292e;">|</span></span>
|
||
<span class="line"><span style="color:#24292e;">├── $MODID <--- フォルダの名前はモジュールの ID で付けます</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │ *** モジュールの ID ***</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── module.prop <--- このファイルにモジュールのメタデータを保存します</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │ *** メインコンテンツ ***</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── system <--- skip_mount が存在しない場合、このフォルダがマウントされます</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │ ├── ...</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │ ├── ...</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │ └── ...</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │ *** ステータスフラグ ***</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── skip_mount <--- 存在する場合、KernelSU はシステムフォルダをマウントしません</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── disable <--- 存在する場合、モジュールは無効化されます</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── remove <--- 存在する場合、次の再起動時にモジュールが削除されます</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │ *** 任意のファイル ***</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── post-fs-data.sh <--- このスクリプトは post-fs-data で実行されます</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── service.sh <--- このスクリプトは late_start サービスで実行されます</span></span>
|
||
<span class="line"><span style="color:#24292e;">| ├── uninstall.sh <--- このスクリプトは KernelSU がモジュールを削除するときに実行されます</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── system.prop <--- このファイルのプロパティは resetprop によってシステムプロパティとして読み込まれます</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── sepolicy.rule <--- カスタム SEPolicy ルールを追加します</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │ *** 自動生成されるため、手動で作成または変更しないでください ***</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── vendor <--- $MODID/system/vendor へのシンボリックリンク</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── product <--- $MODID/system/product へのシンボリックリンク</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── system_ext <--- $MODID/system/system_ext へのシンボリックリンク</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │ *** その他のファイル/フォルダの追加も可能です ***</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ │</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── ...</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ └── ...</span></span>
|
||
<span class="line"><span style="color:#24292e;">|</span></span>
|
||
<span class="line"><span style="color:#24292e;">├── another_module</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ ├── .</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ └── .</span></span>
|
||
<span class="line"><span style="color:#24292e;">├── .</span></span>
|
||
<span class="line"><span style="color:#24292e;">├── .</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">Magisk との違い</p><p>KernelSU は Zygisk をビルトインでサポートしていないため、モジュール内に Zygisk に関連するコンテンツは存在しません。 しかし、<a href="https://github.com/Dr-TSNG/ZygiskNext" target="_blank" rel="noreferrer">ZygiskNext</a> をインストールすれば Zygisk モジュールを使えます。その場合の Zygisk モジュールのコンテンツは Magisk と同じです。</p></div><h3 id="module-prop" tabindex="-1">module.prop <a class="header-anchor" href="#module-prop" aria-label="Permalink to "module.prop""></a></h3><p>module.prop はモジュールの設定ファイルです。KernelSU ではこのファイルを含まないモジュールは、モジュールとして認識されません。このファイルの形式は以下の通りです:</p><div class="language-txt vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#e1e4e8;">id=<string></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">name=<string></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">version=<string></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">versionCode=<int></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">author=<string></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">description=<string></span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">id=<string></span></span>
|
||
<span class="line"><span style="color:#24292e;">name=<string></span></span>
|
||
<span class="line"><span style="color:#24292e;">version=<string></span></span>
|
||
<span class="line"><span style="color:#24292e;">versionCode=<int></span></span>
|
||
<span class="line"><span style="color:#24292e;">author=<string></span></span>
|
||
<span class="line"><span style="color:#24292e;">description=<string></span></span></code></pre></div><ul><li><code>id</code> はこの正規表現に一致していなければいけません: <code>^[a-zA-Z][a-zA-Z0-9._-]+$</code><br> 例: ✓ <code>a_module</code>, ✓ <code>a.module</code>, ✓ <code>module-101</code>, ✗ <code>a module</code>, ✗ <code>1_module</code>, ✗ <code>-a-module</code><br> これはモジュールの<strong>ユニークな ID</strong> です。公開後は変更しないでください。</li><li><code>versionCode</code> は <strong>integer</strong> です。バージョンの比較に使います。</li><li>他のものには<strong>単一行</strong> の文字であれば何でも使えます。</li><li>改行文字は <code>UNIX (LF)</code> を使ってください。<code>Windows (CR+LF)</code> や <code>Macintosh (CR)</code> は使ってはいけません。</li></ul><h3 id="シェルスクリプト" tabindex="-1">シェルスクリプト <a class="header-anchor" href="#シェルスクリプト" aria-label="Permalink to "シェルスクリプト""></a></h3><p><code>post-fs-data.sh</code> と <code>service.sh</code> の違いについては、<a href="#boot-scripts">ブートスクリプト</a>のセクションを読んでください。ほとんどのモジュール開発者にとって、ブートスクリプトを実行するだけなら <code>service.sh</code> で十分なはずです。</p><p>モジュールのすべてのスクリプトでは、<code>MODDIR=${0%/*}</code>を使えばモジュールのベースディレクトリのパスを取得できます。スクリプト内でモジュールのパスをハードコードしないでください。</p><div class="tip custom-block"><p class="custom-block-title">Magisk との違い</p><p>環境変数 <code>KSU</code> を使用すると、スクリプトが KernelSU と Magisk どちらで実行されているかを判断できます。KernelSU で実行されている場合、この値は <code>true</code> に設定されます。</p></div><h3 id="system-ディレクトリ" tabindex="-1"><code>system</code> ディレクトリ <a class="header-anchor" href="#system-ディレクトリ" aria-label="Permalink to "`system` ディレクトリ""></a></h3><p>このディレクトリの内容は、システムの起動後に OverlayFS を使用してシステムの /system パーティションの上にオーバーレイされます:</p><ol><li>システム内の対応するディレクトリにあるファイルと同名のファイルは、このディレクトリにあるファイルで上書きされます。</li><li>システム内の対応するディレクトリにあるフォルダと同じ名前のフォルダは、このディレクトリにあるフォルダと統合されます。</li></ol><p>元のシステムディレクトリにあるファイルやフォルダを削除したい場合は、<code>mknod filename c 0 0</code> を使ってモジュールディレクトリにそのファイル/フォルダと同じ名前のファイルを作成する必要があります。こうすることで、OverlayFS システムはこのファイルを削除したかのように自動的に「ホワイトアウト」します(/system パーティションは実際には変更されません)。</p><p>また、<code>customize.sh</code> 内で <code>REMOVE</code> という変数に削除操作を実行するディレクトリのリストを宣言すると、KernelSU は自動的にそのモジュールの対応するディレクトリで <code>mknod <TARGET> c 0 0</code> を実行します。例えば</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#E1E4E8;">REMOVE</span><span style="color:#F97583;">=</span><span style="color:#9ECBFF;">"</span></span>
|
||
<span class="line"><span style="color:#9ECBFF;">/system/app/YouTube</span></span>
|
||
<span class="line"><span style="color:#9ECBFF;">/system/app/Bloatware</span></span>
|
||
<span class="line"><span style="color:#9ECBFF;">"</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292E;">REMOVE</span><span style="color:#D73A49;">=</span><span style="color:#032F62;">"</span></span>
|
||
<span class="line"><span style="color:#032F62;">/system/app/YouTube</span></span>
|
||
<span class="line"><span style="color:#032F62;">/system/app/Bloatware</span></span>
|
||
<span class="line"><span style="color:#032F62;">"</span></span></code></pre></div><p>上記の場合は、<code>mknod $MODPATH/system/app/YouTuBe c 0 0</code>と<code>mknod $MODPATH/system/app/Bloatware c 0 0</code>を実行し、<code>/system/app/YouTube</code>と<code>/system/app/Bloatware</code>はモジュール有効化後に削除されます。</p><p>システム内のディレクトリを置き換えたい場合は、モジュールディレクトリに同じパスのディレクトリを作成し、このディレクトリに <code>setfattr -n trusted.overlay.opaque -v y <TARGET></code> という属性を設定する必要があります。こうすることで、OverlayFS システムは(/system パーティションを変更することなく)システム内の対応するディレクトリを自動的に置き換えることができます。</p><p><code>customize.sh</code> ファイル内に <code>REPLACE</code> という変数を宣言し、その中に置換するディレクトリのリストを入れておけば、KernelSU は自動的にモジュールディレクトリに対応した処理を行います。例えば:</p><p>REPLACE=" /system/app/YouTube /system/app/Bloatware "</p><p>このリストは、自動的に <code>$MODPATH/system/app/YouTube</code> と <code>$MODPATH/system/app/Bloatware</code> というディレクトリを作成し、 <code>setfattr -n trusted.overlay.opaque -v y $MODPATH/system/app/YouTube</code> と <code>setfattr -n trusted.overlay.opaque -v y $MODPATH/system/app/Bloatware</code> を実行します。モジュールが有効になると、<code>/system/app/YouTube</code> と <code>/system/app/Bloatware</code> は空のディレクトリに置き換えられます。</p><div class="tip custom-block"><p class="custom-block-title">Magisk との違い</p><p>KernelSU のシステムレスメカニズムはカーネルの OverlayFS によって実装され、Magisk は現在マジックマウント(bind mount)を使用しています。この2つの実装方法には大きな違いがありますが最終的な目的は同じで、/system パーティションを物理的に変更することなく、/system のファイルを変更できます。</p></div><p>OverlayFS に興味があれば、Linux カーネルの <a href="https://docs.kernel.org/filesystems/overlayfs.html" target="_blank" rel="noreferrer">OverlayFS のドキュメンテーション</a> を読んでみてください。</p><h3 id="system-prop" tabindex="-1">system.prop <a class="header-anchor" href="#system-prop" aria-label="Permalink to "system.prop""></a></h3><p>このファイルは <code>build.prop</code> と同じ形式をとっています。各行は <code>[key]=[value]</code> で構成されます。</p><h3 id="sepolicy-rule" tabindex="-1">sepolicy.rule <a class="header-anchor" href="#sepolicy-rule" aria-label="Permalink to "sepolicy.rule""></a></h3><p>もしあなたのモジュールが追加の SEPolicy パッチを必要とする場合は、それらのルールをこのファイルに追加してください。このファイルの各行は、ポリシーステートメントとして扱われます。</p><h2 id="モジュールのインストーラー" tabindex="-1">モジュールのインストーラー <a class="header-anchor" href="#モジュールのインストーラー" aria-label="Permalink to "モジュールのインストーラー""></a></h2><p>KernelSU モジュールインストーラーは、KernelSU Manager アプリでインストールできる、ZIP ファイルにパッケージされた KernelSU モジュールです。最もシンプルな KernelSU モジュールインストーラーは、KernelSU モジュールを ZIP ファイルとしてパックしただけのものです。</p><div class="language-txt vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#e1e4e8;">module.zip</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">├── customize.sh <--- (任意、詳細は後述)</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│ このスクリプトは update-binary から読み込まれます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">├── ...</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">├── ... /* 残りのモジュールのファイル */</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">│</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">module.zip</span></span>
|
||
<span class="line"><span style="color:#24292e;">│</span></span>
|
||
<span class="line"><span style="color:#24292e;">├── customize.sh <--- (任意、詳細は後述)</span></span>
|
||
<span class="line"><span style="color:#24292e;">│ このスクリプトは update-binary から読み込まれます</span></span>
|
||
<span class="line"><span style="color:#24292e;">├── ...</span></span>
|
||
<span class="line"><span style="color:#24292e;">├── ... /* 残りのモジュールのファイル */</span></span>
|
||
<span class="line"><span style="color:#24292e;">│</span></span></code></pre></div><div class="warning custom-block"><p class="custom-block-title">警告</p><p>KernelSU モジュールは、カスタムリカバリーからのインストールには非対応です!</p></div><h3 id="カスタマイズ" tabindex="-1">カスタマイズ <a class="header-anchor" href="#カスタマイズ" aria-label="Permalink to "カスタマイズ""></a></h3><p>モジュールのインストールプロセスをカスタマイズする必要がある場合、<code>customize.sh</code> という名前のスクリプトを作成してください。このスクリプトは、すべてのファイルが抽出され、デフォルトのパーミッションと secontext が適用された後、モジュールインストーラースクリプトによって読み込み (実行ではなく) されます。これは、モジュールがデバイスの ABI に基づいて追加設定を必要とする場合や、モジュールファイルの一部に特別なパーミッション/コンテキストを設定する必要がある場合に、非常に便利です。</p><p>インストールプロセスを完全に制御しカスタマイズしたい場合は、<code>customize.sh</code> で <code>SKIPUNZIP=1</code> と宣言すればデフォルトのインストールステップをすべてスキップできます。そうすることで、<code>customize.sh</code> が責任をもってすべてをインストールするようになります。</p><p><code>customize.sh</code>スクリプトは、KernelSU の Busybox <code>ash</code> シェルで、「スタンドアロンモード」を有効にして実行します。以下の変数と関数が利用可能です:</p><h4 id="変数" tabindex="-1">変数 <a class="header-anchor" href="#変数" aria-label="Permalink to "変数""></a></h4><ul><li><code>KSU</code> (bool): スクリプトが KernelSU 環境で実行されていることを示すための変数で、この変数の値は常に true になります。KernelSU と Magisk を区別するために使用できます。</li><li><code>KSU_VER</code> (string): 現在インストールされている KernelSU のバージョン文字列 (例: <code>v0.4.0</code>)</li><li><code>KSU_VER_CODE</code> (int): ユーザー空間に現在インストールされているKernelSUのバージョンコード (例: <code>10672</code>)</li><li><code>KSU_KERNEL_VER_CODE</code> (int): 現在インストールされている KernelSU のカーネル空間でのバージョンコード(例:<code>10672</code>)</li><li><code>BOOTMODE</code> (bool): KernelSU では常に <code>true</code></li><li><code>MODPATH</code> (path): モジュールファイルがインストールされるパス</li><li><code>TMPDIR</code> (path): ファイルを一時的に保存しておく場所</li><li><code>ZIPFILE</code> (path): あなたのモジュールのインストールZIP</li><li><code>ARCH</code> (string): デバイスの CPU アーキテクチャ。値は <code>arm</code>、<code>arm64</code>、<code>x86</code>、<code>x64</code> のいずれか</li><li><code>IS64BIT</code> (bool): <code>ARCH</code> が <code>arm64</code> または <code>x64</code> のときは <code>true</code></li><li><code>API</code> (int): 端末の API レベル・Android のバージョン(例:Android 6.0 なら<code>23</code>)</li></ul><div class="warning custom-block"><p class="custom-block-title">警告</p><p>KernelSU では、MAGISK_VER_CODE は常に25200、MAGISK_VER は常にv25.2です。この2つの変数で KernelSU 上で動作しているかどうかを判断するのはやめてください。</p></div><h4 id="機能" tabindex="-1">機能 <a class="header-anchor" href="#機能" aria-label="Permalink to "機能""></a></h4><div class="language-txt vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">txt</span><pre class="shiki github-dark vp-code-dark"><code><span class="line"><span style="color:#e1e4e8;">ui_print <msg></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> コンソールに <msg> を表示します</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> カスタムリカバリーのコンソールでは表示されないため、「echo」の使用は避けてください</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">abort <msg></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> エラーメッセージ<msg>をコンソールに出力し、インストールを終了させます</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> 終了時のクリーンアップがスキップされてしまうため、「exit」の使用は避けてください</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">set_perm <target> <owner> <group> <permission> [context]</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> [context] が設定されていない場合、デフォルトは "u:object_r:system_file:s0" です。</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> この機能は、次のコマンドの略記です:</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> chown owner.group target</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> chmod permission target</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> chcon context target</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"></span></span>
|
||
<span class="line"><span style="color:#e1e4e8;">set_perm_recursive <directory> <owner> <group> <dirpermission> <filepermission> [context]</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> [context] が設定されていない場合、デフォルトは "u:object_r:system_file:s0" です。</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> <directory> 内のすべてのファイルに対しては以下が実行されます:</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> set_perm file owner group filepermission context</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> <directory> 内のすべてのディレクトリ(自身を含む)に対しては以下が実行されます:</span></span>
|
||
<span class="line"><span style="color:#e1e4e8;"> set_perm dir owner group dirpermission context</span></span></code></pre><pre class="shiki github-light vp-code-light"><code><span class="line"><span style="color:#24292e;">ui_print <msg></span></span>
|
||
<span class="line"><span style="color:#24292e;"> コンソールに <msg> を表示します</span></span>
|
||
<span class="line"><span style="color:#24292e;"> カスタムリカバリーのコンソールでは表示されないため、「echo」の使用は避けてください</span></span>
|
||
<span class="line"><span style="color:#24292e;"></span></span>
|
||
<span class="line"><span style="color:#24292e;">abort <msg></span></span>
|
||
<span class="line"><span style="color:#24292e;"> エラーメッセージ<msg>をコンソールに出力し、インストールを終了させます</span></span>
|
||
<span class="line"><span style="color:#24292e;"> 終了時のクリーンアップがスキップされてしまうため、「exit」の使用は避けてください</span></span>
|
||
<span class="line"><span style="color:#24292e;"></span></span>
|
||
<span class="line"><span style="color:#24292e;">set_perm <target> <owner> <group> <permission> [context]</span></span>
|
||
<span class="line"><span style="color:#24292e;"> [context] が設定されていない場合、デフォルトは "u:object_r:system_file:s0" です。</span></span>
|
||
<span class="line"><span style="color:#24292e;"> この機能は、次のコマンドの略記です:</span></span>
|
||
<span class="line"><span style="color:#24292e;"> chown owner.group target</span></span>
|
||
<span class="line"><span style="color:#24292e;"> chmod permission target</span></span>
|
||
<span class="line"><span style="color:#24292e;"> chcon context target</span></span>
|
||
<span class="line"><span style="color:#24292e;"></span></span>
|
||
<span class="line"><span style="color:#24292e;">set_perm_recursive <directory> <owner> <group> <dirpermission> <filepermission> [context]</span></span>
|
||
<span class="line"><span style="color:#24292e;"> [context] が設定されていない場合、デフォルトは "u:object_r:system_file:s0" です。</span></span>
|
||
<span class="line"><span style="color:#24292e;"> <directory> 内のすべてのファイルに対しては以下が実行されます:</span></span>
|
||
<span class="line"><span style="color:#24292e;"> set_perm file owner group filepermission context</span></span>
|
||
<span class="line"><span style="color:#24292e;"> <directory> 内のすべてのディレクトリ(自身を含む)に対しては以下が実行されます:</span></span>
|
||
<span class="line"><span style="color:#24292e;"> set_perm dir owner group dirpermission context</span></span></code></pre></div><h2 id="ブートスクリプト" tabindex="-1">ブートスクリプト <a class="header-anchor" href="#ブートスクリプト" aria-label="Permalink to "ブートスクリプト""></a></h2><p>KernelSU では、スクリプトは実行モードによって post-fs-data モードと late_start サービスモードの2種類に分けられます:</p><ul><li>post-fs-data モード <ul><li>同期処理です。実行が終わるか、10秒が経過するまでブートプロセスが一時停止されます。</li><li>スクリプトはモジュールがマウントされる前に実行されます。モジュール開発者はモジュールがマウントされる前に、動的にモジュールを調整できます。</li><li>このステージは Zygote が始まる前に起こるので、Android のほぼすべての処理の前に割り込めます</li><li><strong>警告:</strong> <code>setprop</code> を使うとブートプロセスのデッドロックを引き起こします! <code>resetprop -n <prop_name> <prop_value></code> を使ってください。</li><li><strong>本当に必要な場合だけこのモードでコマンド実行してください</strong></li></ul></li><li>late_start サービスモード <ul><li>非同期処理です。スクリプトは、起動プロセスの残りの部分と並行して実行されます。</li><li><strong>ほとんどのスクリプトにはこちらがおすすめです</strong></li></ul></li></ul><p>KernelSU では、起動スクリプトは保存場所によって一般スクリプトとモジュールスクリプトの2種類に分けられます:</p><ul><li>一般スクリプト <ul><li><code>/data/adb/post-fs-data.d</code> か <code>/data/adb/service.d</code> に配置されます</li><li>スクリプトが実行可能な状態に設定されている場合にのみ実行されます (<code>chmod +x script.sh</code>)</li><li><code>post-fs-data.d</code> のスクリプトは post-fs-data モードで実行され、<code>service.d</code> のスクリプトは late_start サービスモードで実行されます</li><li>モジュールはインストール時に一般スクリプトを追加するべきではありません</li></ul></li><li>モジュールスクリプト <ul><li>モジュール独自のフォルダに配置されます</li><li>モジュールが有効な場合のみ実行されます</li><li><code>post-fs-data.sh</code> は post-fs-data モードで実行され、<code>service.sh</code> は late_start サービスモードで実行されます</li></ul></li></ul><p>すべてのブートスクリプトは、KernelSU の Busybox <code>ash</code> シェルで「スタンドアロンモード」を有効にした状態で実行されます。</p></div></div></main><footer class="VPDocFooter" data-v-6b87e69f data-v-ef5dee53><!--[--><!--]--><div class="edit-info" data-v-ef5dee53><div class="edit-link" data-v-ef5dee53><a class="VPLink link vp-external-link-icon no-icon edit-link-button" href="https://github.com/tiann/KernelSU/edit/main/website/docs/ja_JP/guide/module.md" target="_blank" rel="noreferrer" data-v-ef5dee53><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" aria-label="edit icon" data-v-ef5dee53><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> GitHub でこのページを編集<!--]--></a></div><!----></div><nav class="prev-next" data-v-ef5dee53><div class="pager" data-v-ef5dee53><a class="pager-link prev" href="/ja_JP/guide/unofficially-support-devices.html" data-v-ef5dee53><span class="desc" data-v-ef5dee53>Previous page</span><span class="title" data-v-ef5dee53>非公式の対応デバイス</span></a></div><div class="pager" data-v-ef5dee53><a class="pager-link next" href="/ja_JP/guide/rescue-from-bootloop.html" data-v-ef5dee53><span class="desc" data-v-ef5dee53>Next page</span><span class="title" data-v-ef5dee53>ブートループからの復旧</span></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-5a346dfe data-v-e03eb2e1><div class="container" data-v-e03eb2e1><p class="message" data-v-e03eb2e1>GPL3 ライセンスでリリースされています。</p><p class="copyright" data-v-e03eb2e1>Copyright © 2022-現在 KernelSU 開発者</p></div></footer><!--[--><!--]--></div></div>
|
||
<script>window.__VP_HASH_MAP__=JSON.parse("{\"ja_jp_guide_difference-with-magisk.md\":\"665d74c8\",\"ja_jp_guide_faq.md\":\"b51546fa\",\"ja_jp_guide_hidden-features.md\":\"cdaa1636\",\"ja_jp_guide_installation.md\":\"7f4d5495\",\"id_id_guide_rescue-from-bootloop.md\":\"5cce45dd\",\"guide_app-profile.md\":\"27f6816c\",\"ja_jp_index.md\":\"474a6e1c\",\"guide_hidden-features.md\":\"469c34a7\",\"guide_installation.md\":\"f81e59f3\",\"guide_how-to-integrate-for-non-gki.md\":\"5ad8c015\",\"guide_rescue-from-bootloop.md\":\"656e5988\",\"guide_unofficially-support-devices.md\":\"692e1ce3\",\"id_id_guide_difference-with-magisk.md\":\"24526677\",\"id_id_guide_how-to-build.md\":\"f09b7a1a\",\"id_id_guide_module.md\":\"068bf86d\",\"id_id_guide_installation.md\":\"2d1e9f50\",\"ja_jp_guide_module.md\":\"dbefd5cf\",\"id_id_guide_unofficially-support-devices.md\":\"78d9391e\",\"id_id_guide_what-is-kernelsu.md\":\"b6c7dc2f\",\"guide_how-to-build.md\":\"83e45bdd\",\"id_id_index.md\":\"06fbc917\",\"index.md\":\"133d8307\",\"pt_br_guide_rescue-from-bootloop.md\":\"ee15e0d3\",\"ru_ru_guide_app-profile.md\":\"084a5687\",\"ru_ru_guide_faq.md\":\"1d543e4d\",\"id_id_guide_faq.md\":\"a19560c6\",\"guide_module.md\":\"fcc5d1bb\",\"pt_br_guide_app-profile.md\":\"dd333014\",\"guide_what-is-kernelsu.md\":\"f089de90\",\"zh_tw_index.md\":\"419b5e06\",\"pt_br_guide_module.md\":\"dc3df57b\",\"zh_cn_guide_how-to-integrate-for-non-gki.md\":\"fc1a10e8\",\"ru_ru_guide_hidden-features.md\":\"6c681acf\",\"ru_ru_guide_how-to-build.md\":\"3ac4fa09\",\"ja_jp_guide_rescue-from-bootloop.md\":\"7bb5da8e\",\"ja_jp_guide_unofficially-support-devices.md\":\"e12c36fa\",\"ja_jp_guide_what-is-kernelsu.md\":\"10b56327\",\"pt_br_guide_faq.md\":\"01a58b64\",\"pt_br_guide_how-to-build.md\":\"df81a6ce\",\"guide_difference-with-magisk.md\":\"6bc0c587\",\"ru_ru_guide_rescue-from-bootloop.md\":\"c45eb81e\",\"ru_ru_guide_unofficially-support-devices.md\":\"903ca1e7\",\"ru_ru_guide_what-is-kernelsu.md\":\"11586959\",\"ru_ru_index.md\":\"4a8cc387\",\"vi_vn_guide_app-profile.md\":\"0b09a7b5\",\"vi_vn_guide_difference-with-magisk.md\":\"57b7c7d3\",\"vi_vn_guide_faq.md\":\"510e2971\",\"vi_vn_guide_hidden-features.md\":\"f00f568c\",\"vi_vn_guide_how-to-build.md\":\"f65da7b9\",\"vi_vn_guide_how-to-integrate-for-non-gki.md\":\"f0064cd4\",\"vi_vn_guide_installation.md\":\"a6c03995\",\"vi_vn_guide_module.md\":\"d89b5b5b\",\"vi_vn_guide_rescue-from-bootloop.md\":\"dc2854ff\",\"vi_vn_guide_unofficially-support-devices.md\":\"2078077c\",\"vi_vn_guide_what-is-kernelsu.md\":\"48965b2f\",\"vi_vn_index.md\":\"f75cd4bf\",\"zh_cn_guide_app-profile.md\":\"cabe50a9\",\"zh_cn_guide_difference-with-magisk.md\":\"d3fa9085\",\"zh_cn_guide_faq.md\":\"ac23a8b3\",\"zh_cn_guide_hidden-features.md\":\"34a0e2c0\",\"pt_br_guide_unofficially-support-devices.md\":\"9d8e434d\",\"guide_faq.md\":\"89521262\",\"zh_cn_guide_installation.md\":\"b6f3f2dc\",\"zh_cn_guide_module.md\":\"95d10721\",\"zh_cn_guide_rescue-from-bootloop.md\":\"fa76b90c\",\"zh_cn_guide_how-to-build.md\":\"709f65fb\",\"zh_cn_guide_unofficially-support-devices.md\":\"4c68d324\",\"zh_cn_guide_what-is-kernelsu.md\":\"296b4e28\",\"zh_cn_index.md\":\"c6e87037\",\"zh_tw_guide_difference-with-magisk.md\":\"831b592b\",\"zh_tw_guide_faq.md\":\"e91224a7\",\"ru_ru_guide_installation.md\":\"ad88b078\",\"zh_tw_guide_hidden-features.md\":\"728dbc1c\",\"zh_tw_guide_how-to-build.md\":\"32de6944\",\"zh_tw_guide_how-to-integrate-for-non-gki.md\":\"035c5fb8\",\"ru_ru_guide_module.md\":\"19fabb40\",\"zh_tw_guide_installation.md\":\"48e9e870\",\"zh_tw_guide_module.md\":\"57647aec\",\"zh_tw_guide_rescue-from-bootloop.md\":\"499539d8\",\"zh_tw_guide_unofficially-support-devices.md\":\"e1ab05b4\",\"zh_tw_guide_what-is-kernelsu.md\":\"c73a8b16\",\"ru_ru_guide_how-to-integrate-for-non-gki.md\":\"12445e00\",\"pt_br_guide_hidden-features.md\":\"817db7e8\",\"pt_br_guide_difference-with-magisk.md\":\"c0878d2e\",\"pt_br_guide_what-is-kernelsu.md\":\"e7123691\",\"pt_br_index.md\":\"14860a0b\",\"id_id_guide_how-to-integrate-for-non-gki.md\":\"600d4255\",\"ru_ru_guide_difference-with-magisk.md\":\"928ea8b2\",\"pt_br_guide_installation.md\":\"163448ef\",\"pt_br_guide_how-to-integrate-for-non-gki.md\":\"6bd8e7c3\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"KernelSU\",\"description\":\"A VitePress site\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{},\"locales\":{\"root\":{\"label\":\"English\",\"lang\":\"en-US\",\"themeConfig\":{\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/what-is-kernelsu\"},{\"text\":\"Github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"lastUpdatedText\":\"last Updated\",\"sidebar\":{\"/guide/\":[{\"text\":\"Guide\",\"items\":[{\"text\":\"What is KernelSU?\",\"link\":\"/guide/what-is-kernelsu\"},{\"text\":\"Installation\",\"link\":\"/guide/installation\"},{\"text\":\"How to build?\",\"link\":\"/guide/how-to-build\"},{\"text\":\"Intergrate for non-GKI devices\",\"link\":\"/guide/how-to-integrate-for-non-gki\"},{\"text\":\"Unofficially supported devices\",\"link\":\"/guide/unofficially-support-devices.md\"},{\"text\":\"Module Guide\",\"link\":\"/guide/module.md\"},{\"text\":\"App Profile\",\"link\":\"/guide/app-profile.md\"},{\"text\":\"Rescue from bootloop\",\"link\":\"/guide/rescue-from-bootloop.md\"},{\"text\":\"FAQ\",\"link\":\"/guide/faq\"},{\"text\":\"Hidden features\",\"link\":\"/guide/hidden-features\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"footer\":{\"message\":\"Released under the GPL3 License.\",\"copyright\":\"Copyright © 2022-present KernelSU Developers\"},\"editLink\":{\"pattern\":\"https://github.com/tiann/KernelSU/edit/main/website/docs/:path\",\"text\":\"Edit this page on GitHub\"}},\"description\":\"A kernel-based root solution for Android GKI devices.\"},\"zh_CN\":{\"label\":\"简体中文\",\"lang\":\"zh-CN\",\"themeConfig\":{\"nav\":[{\"text\":\"指南\",\"link\":\"/zh_CN/guide/what-is-kernelsu\"},{\"text\":\"Github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"lastUpdatedText\":\"最后更新\",\"sidebar\":{\"/zh_CN/guide/\":[{\"text\":\"Guide\",\"items\":[{\"text\":\"什么是 KernelSU?\",\"link\":\"/zh_CN/guide/what-is-kernelsu\"},{\"text\":\"安装\",\"link\":\"/zh_CN/guide/installation\"},{\"text\":\"如何构建?\",\"link\":\"/zh_CN/guide/how-to-build\"},{\"text\":\"如何为非GKI设备集成 KernelSU\",\"link\":\"/zh_CN/guide/how-to-integrate-for-non-gki\"},{\"text\":\"非官方支持设备\",\"link\":\"/zh_CN/guide/unofficially-support-devices.md\"},{\"text\":\"模块开发指南\",\"link\":\"/zh_CN/guide/module.md\"},{\"text\":\"App Profile\",\"link\":\"/zh_CN/guide/app-profile.md\"},{\"text\":\"救砖\",\"link\":\"/zh_CN/guide/rescue-from-bootloop.md\"},{\"text\":\"常见问题\",\"link\":\"/zh_CN/guide/faq\"},{\"text\":\"隐藏功能\",\"link\":\"/zh_CN/guide/hidden-features\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"footer\":{\"message\":\"在 GPL3 许可证下发布。\",\"copyright\":\"Copyright © 2022-现在 KernelSU 开发者\"},\"editLink\":{\"pattern\":\"https://github.com/tiann/KernelSU/edit/main/website/docs/:path\",\"text\":\"在 GitHub 中编辑本页\"}},\"description\":\"一个基于内核,为安卓 GKI 准备的 root 方案。\"},\"zh_TW\":{\"label\":\"繁體中文\",\"lang\":\"zh-TW\",\"themeConfig\":{\"nav\":[{\"text\":\"指南\",\"link\":\"/zh_TW/guide/what-is-kernelsu\"},{\"text\":\"Github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"lastUpdatedText\":\"上次更新\",\"sidebar\":{\"/zh_TW/guide/\":[{\"text\":\"Guide\",\"items\":[{\"text\":\"什麼是 KernelSU?\",\"link\":\"/zh_TW/guide/what-is-kernelsu\"},{\"text\":\"安裝\",\"link\":\"/zh_TW/guide/installation\"},{\"text\":\"如何建置?\",\"link\":\"/zh_TW/guide/how-to-build\"},{\"text\":\"如何為非 GKI 核心整合 KernelSU\",\"link\":\"/zh_TW/guide/how-to-integrate-for-non-gki\"},{\"text\":\"非官方支援裝置\",\"link\":\"/zh_TW/guide/unofficially-support-devices.md\"},{\"text\":\"模組指南\",\"link\":\"/zh_TW/guide/module.md\"},{\"text\":\"搶救開機迴圈\",\"link\":\"/zh_TW/guide/rescue-from-bootloop.md\"},{\"text\":\"常見問題\",\"link\":\"/zh_TW/guide/faq\"},{\"text\":\"隱藏功能\",\"link\":\"/zh_TW/guide/hidden-features\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"footer\":{\"message\":\"係依據 GPL3 授權發行。\",\"copyright\":\"Copyright © 2022-目前 KernelSU 開發人員\"},\"editLink\":{\"pattern\":\"https://github.com/tiann/KernelSU/edit/main/website/docs/:path\",\"text\":\"在 GitHub 中編輯本頁面\"}},\"description\":\"一個以核心為基礎,適用於 Android GKI 的 Root 解決方案。\"},\"ja_JP\":{\"label\":\"日本語\",\"lang\":\"ja-JP\",\"themeConfig\":{\"nav\":[{\"text\":\"ガイド\",\"link\":\"/ja_JP/guide/what-is-kernelsu\"},{\"text\":\"Github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"lastUpdatedText\":\"最終更新\",\"sidebar\":{\"/ja_JP/guide/\":[{\"text\":\"ガイド\",\"items\":[{\"text\":\"KernelSU とは?\",\"link\":\"/ja_JP/guide/what-is-kernelsu\"},{\"text\":\"インストール\",\"link\":\"/ja_JP/guide/installation\"},{\"text\":\"ビルドするには?\",\"link\":\"/guide/how-to-build\"},{\"text\":\"非 GKI デバイスでの実装\",\"link\":\"/guide/how-to-integrate-for-non-gki\"},{\"text\":\"非公式の対応デバイス\",\"link\":\"/ja_JP/guide/unofficially-support-devices.md\"},{\"text\":\"モジュールのガイド\",\"link\":\"/ja_JP/guide/module.md\"},{\"text\":\"ブートループからの復旧\",\"link\":\"/ja_JP/guide/rescue-from-bootloop.md\"},{\"text\":\"よくある質問\",\"link\":\"/ja_JP/guide/faq\"},{\"text\":\"隠し機能\",\"link\":\"/ja_JP/guide/hidden-features\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"footer\":{\"message\":\"GPL3 ライセンスでリリースされています。\",\"copyright\":\"Copyright © 2022-現在 KernelSU 開発者\"},\"editLink\":{\"pattern\":\"https://github.com/tiann/KernelSU/edit/main/website/docs/:path\",\"text\":\"GitHub でこのページを編集\"}},\"description\":\"Android GKI デバイス向けのカーネルベースの root ソリューション\"},\"vi_VN\":{\"label\":\"Tiếng Việt\",\"lang\":\"vi-VN\",\"themeConfig\":{\"nav\":[{\"text\":\"Hướng Dẫn\",\"link\":\"/vi_VN/guide/what-is-kernelsu\"},{\"text\":\"Github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"lastUpdatedText\":\"cập nhật lần cuối\",\"sidebar\":{\"/vi_VN/guide/\":[{\"text\":\"Hướng Dẫn\",\"items\":[{\"text\":\"KernelSU là gì?\",\"link\":\"/vi_VN/guide/what-is-kernelsu\"},{\"text\":\"Cách cài đặt\",\"link\":\"/vi_VN/guide/installation\"},{\"text\":\"Cách để build?\",\"link\":\"/vi_VN/guide/how-to-build\"},{\"text\":\"Tích hợp vào thiết bị không sử dụng GKI\",\"link\":\"/vi_VN/guide/how-to-integrate-for-non-gki\"},{\"text\":\"Thiết bị hỗ trợ không chính thức\",\"link\":\"/vi_VN/guide/unofficially-support-devices.md\"},{\"text\":\"FAQ - Câu hỏi thường gặp\",\"link\":\"/vi_VN/guide/faq\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"footer\":{\"message\":\"Phát hành dưới giấy phép GPL3.\",\"copyright\":\"Bản Quyền © 2022-nay KernelSU Developers\"},\"editLink\":{\"pattern\":\"https://github.com/tiann/KernelSU/edit/main/website/docs/:path\",\"text\":\"Chỉnh sửa trang này trên GitHub\"}},\"description\":\"Một giải pháp root trực tiếp trên kernel dành cho các thiết bị hỗ trợ GKI.\"},\"id_ID\":{\"label\":\"Bahasa\",\"lang\":\"id-ID\",\"themeConfig\":{\"nav\":[{\"text\":\"Petunjuk\",\"link\":\"/id_ID/guide/what-is-kernelsu\"},{\"text\":\"Github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"lastUpdatedText\":\"Update Terakhir\",\"sidebar\":{\"/id_ID/guide/\":[{\"text\":\"Petunjuk\",\"items\":[{\"text\":\"Apa itu KernelSU?\",\"link\":\"/id_ID/guide/what-is-kernelsu\"},{\"text\":\"Instalasi\",\"link\":\"/id_ID/guide/installation\"},{\"text\":\"Bagaimana cara buildnya?\",\"link\":\"/id_ID/guide/how-to-build\"},{\"text\":\"Integrasi untuk perangkat non-GKI\",\"link\":\"/id_ID/guide/how-to-integrate-for-non-gki\"},{\"text\":\"Perangkat yang didukung secara tidak resmi\",\"link\":\"/id_ID/guide/unofficially-support-devices.md\"},{\"text\":\"Petunjuk module\",\"link\":\"/id_ID/guide/module.md\"},{\"text\":\"Antisipasi dari bootloop\",\"link\":\"/id_ID/guide/rescue-from-bootloop.md\"},{\"text\":\"FAQ\",\"link\":\"/id_ID/guide/faq\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"footer\":{\"message\":\"Rilis Dibawah Lisensi GPL3.\",\"copyright\":\"Copyright © 2022-Sekarang pengembang KernelSU \"},\"editLink\":{\"pattern\":\"https://github.com/tiann/KernelSU/edit/main/website/docs/:path\",\"text\":\"Edit Halaman ini di GitHub\"}},\"description\":\"Solusi root kernel-based untuk perangkat Android GKI.\"},\"ru_RU\":{\"label\":\"Русский\",\"lang\":\"ru-RU\",\"themeConfig\":{\"nav\":[{\"text\":\"Руководство\",\"link\":\"/ru_RU/guide/what-is-kernelsu\"},{\"text\":\"Github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"lastUpdatedText\":\"последнее обновление\",\"sidebar\":{\"/ru_RU/guide/\":[{\"text\":\"Руководство\",\"items\":[{\"text\":\"Что такое KernelSU?\",\"link\":\"/ru_RU/guide/what-is-kernelsu\"},{\"text\":\"Установка\",\"link\":\"/ru_RU/guide/installation\"},{\"text\":\"Как собрать?\",\"link\":\"/ru_RU/guide/how-to-build\"},{\"text\":\"Реализация в устройствах, не относящихся к GKI\",\"link\":\"/ru_RU/guide/how-to-integrate-for-non-gki\"},{\"text\":\"Неофициально поддерживаемые устройства\",\"link\":\"/ru_RU/guide/unofficially-support-devices.md\"},{\"text\":\"Руководство по разработке модулей\",\"link\":\"/ru_RU/guide/module.md\"},{\"text\":\"Профиль приложений\",\"link\":\"/ru_RU/guide/app-profile.md\"},{\"text\":\"Выход из циклической загрузки\",\"link\":\"/ru_RU/guide/rescue-from-bootloop.md\"},{\"text\":\"FAQ\",\"link\":\"/ru_RU/guide/faq\"},{\"text\":\"Скрытые возможности\",\"link\":\"/ru_RU/guide/hidden-features\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"footer\":{\"message\":\"Выпускается под лицензией GPL3.\",\"copyright\":\"Авторские права © 2022-текущее Разработчики KernelSU\"},\"editLink\":{\"pattern\":\"https://github.com/tiann/KernelSU/edit/main/website/docs/:path\",\"text\":\"Редактировать эту страницу на GitHub\"}},\"description\":\"Решение на основе ядра root для устройств Android GKI.\"},\"pt_BR\":{\"label\":\"Português (Brasil)\",\"lang\":\"pt-BR\",\"themeConfig\":{\"nav\":[{\"text\":\"Guia\",\"link\":\"/pt_BR/guide/what-is-kernelsu\"},{\"text\":\"Github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"lastUpdatedText\":\"Última atualização\",\"sidebar\":{\"/pt_BR/guide/\":[{\"text\":\"Guia\",\"items\":[{\"text\":\"O que é KernelSU?\",\"link\":\"/pt_BR/guide/what-is-kernelsu\"},{\"text\":\"Instalação\",\"link\":\"/pt_BR/guide/installation\"},{\"text\":\"Como construir?\",\"link\":\"/pt_BR/guide/how-to-build\"},{\"text\":\"Integração para dispositivos não GKI\",\"link\":\"/pt_BR/guide/how-to-integrate-for-non-gki\"},{\"text\":\"Dispositivos com suporte não oficial\",\"link\":\"/pt_BR/guide/unofficially-support-devices.md\"},{\"text\":\"Guias de módulo\",\"link\":\"/pt_BR/guide/module.md\"},{\"text\":\"Perfil do Aplicativo\",\"link\":\"/pt_BR/guide/app-profile.md\"},{\"text\":\"Resgate do bootloop\",\"link\":\"/pt_BR/guide/rescue-from-bootloop.md\"},{\"text\":\"FAQ\",\"link\":\"/pt_BR/guide/faq\"},{\"text\":\"Recursos ocultos\",\"link\":\"/pt_BR/guide/hidden-features\"}]}]},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/tiann/KernelSU\"}],\"footer\":{\"message\":\"Lançado sob a Licença GPL3.\",\"copyright\":\"Copyright © Desenvolvedores KernelSU atuais de 2022\"},\"editLink\":{\"pattern\":\"https://github.com/tiann/KernelSU/edit/main/website/docs/:path\",\"text\":\"Edite esta página no GitHub\"}},\"description\":\"Uma solução root baseada em kernel para dispositivos Android GKI.\"}},\"scrollOffset\":90,\"cleanUrls\":false}");</script>
|
||
|
||
</body>
|
||
</html> |