You've already forked KernelSU
mirror of
https://github.com/tiann/KernelSU.git
synced 2025-08-27 23:46:34 +00:00
26 lines
54 KiB
HTML
26 lines
54 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN" dir="ltr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||
<title>App Profile | KernelSU</title>
|
||
<meta name="description" content="一个基于内核,为安卓 GKI 准备的 root 方案。">
|
||
<link rel="preload stylesheet" href="/assets/style.7b8b1841.css" as="style">
|
||
<script type="module" src="/assets/app.9b09a9be.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.43781440.js">
|
||
<link rel="modulepreload" href="/assets/chunks/theme.85c31bd3.js">
|
||
<link rel="modulepreload" href="/assets/zh_CN_guide_app-profile.md.557e9b58.lean.js">
|
||
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||
</head>
|
||
<body>
|
||
<div id="app"><div class="Layout" data-v-b2cf3e0b><!--[--><!--]--><!--[--><span tabindex="-1" data-v-c8616af1></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-c8616af1> Skip to content </a><!--]--><!----><header class="VPNav" data-v-b2cf3e0b data-v-7e5bc4a5><div class="VPNavBar has-sidebar" data-v-7e5bc4a5 data-v-94c81dcc><div class="container" data-v-94c81dcc><div class="title" data-v-94c81dcc><div class="VPNavBarTitle has-sidebar" data-v-94c81dcc data-v-f4ef19a3><a class="title" href="/zh_CN/" data-v-f4ef19a3><!--[--><!--]--><!----><!--[-->KernelSU<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-94c81dcc><div class="curtain" data-v-94c81dcc></div><div class="content-body" data-v-94c81dcc><!--[--><!--]--><div class="VPNavBarSearch search" style="--vp-meta-key:'Meta';" data-v-94c81dcc><!----></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-94c81dcc data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/zh_CN/guide/what-is-kernelsu.html" tabindex="0" data-v-7f418b0f data-v-37adc828 data-v-8f4dc553><!--[-->指南<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="https://github.com/tiann/KernelSU" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-37adc828 data-v-8f4dc553><!--[-->Github<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="icon" data-v-8f4dc553><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-94c81dcc data-v-74abcbb9 data-v-764effdf><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-764effdf><span class="text" data-v-764effdf><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="option-icon" data-v-764effdf><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-764effdf><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-764effdf><div class="VPMenu" data-v-764effdf data-v-e7ea1737><!----><!--[--><!--[--><div class="items" data-v-74abcbb9><p class="title" data-v-74abcbb9>简体中文</p><!--[--><div class="VPMenuLink" data-v-74abcbb9 data-v-d2c93bab><a class="VPLink link" href="/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->English<!--]--><!----></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-d2c93bab><a class="VPLink link" href="/zh_TW/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->繁體中文<!--]--><!----></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-d2c93bab><a class="VPLink link" href="/ja_JP/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->日本語<!--]--><!----></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-d2c93bab><a class="VPLink link" href="/vi_VN/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->Tiếng Việt<!--]--><!----></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-d2c93bab><a class="VPLink link" href="/id_ID/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->Bahasa<!--]--><!----></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-d2c93bab><a class="VPLink link" href="/ru_RU/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->Русский<!--]--><!----></a></div><div class="VPMenuLink" data-v-74abcbb9 data-v-d2c93bab><a class="VPLink link" href="/pt_BR/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->Português (Brasil)<!--]--><!----></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-94c81dcc data-v-f6a63727><label title="toggle dark mode" data-v-f6a63727 data-v-a9c8afb8><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-checked="false" data-v-a9c8afb8 data-v-f3c41672><span class="check" data-v-f3c41672><span class="icon" data-v-f3c41672><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-a9c8afb8><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-a9c8afb8><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></label></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-94c81dcc data-v-0394ad82 data-v-f6988cfb><!--[--><a class="VPSocialLink" href="https://github.com/tiann/KernelSU" aria-label="github" target="_blank" rel="noopener" data-v-f6988cfb data-v-c530cc0a><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-94c81dcc data-v-40855f84 data-v-764effdf><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-764effdf><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-764effdf><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-764effdf><div class="VPMenu" data-v-764effdf data-v-e7ea1737><!----><!--[--><!--[--><div class="group translations" data-v-40855f84><p class="trans-title" data-v-40855f84>简体中文</p><!--[--><div class="VPMenuLink" data-v-40855f84 data-v-d2c93bab><a class="VPLink link" href="/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->English<!--]--><!----></a></div><div class="VPMenuLink" data-v-40855f84 data-v-d2c93bab><a class="VPLink link" href="/zh_TW/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->繁體中文<!--]--><!----></a></div><div class="VPMenuLink" data-v-40855f84 data-v-d2c93bab><a class="VPLink link" href="/ja_JP/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->日本語<!--]--><!----></a></div><div class="VPMenuLink" data-v-40855f84 data-v-d2c93bab><a class="VPLink link" href="/vi_VN/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->Tiếng Việt<!--]--><!----></a></div><div class="VPMenuLink" data-v-40855f84 data-v-d2c93bab><a class="VPLink link" href="/id_ID/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->Bahasa<!--]--><!----></a></div><div class="VPMenuLink" data-v-40855f84 data-v-d2c93bab><a class="VPLink link" href="/ru_RU/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->Русский<!--]--><!----></a></div><div class="VPMenuLink" data-v-40855f84 data-v-d2c93bab><a class="VPLink link" href="/pt_BR/guide/app-profile.html" data-v-d2c93bab data-v-8f4dc553><!--[-->Português (Brasil)<!--]--><!----></a></div><!--]--></div><div class="group" data-v-40855f84><div class="item appearance" data-v-40855f84><p class="label" data-v-40855f84>Appearance</p><div class="appearance-action" data-v-40855f84><label title="toggle dark mode" data-v-40855f84 data-v-a9c8afb8><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-checked="false" data-v-a9c8afb8 data-v-f3c41672><span class="check" data-v-f3c41672><span class="icon" data-v-f3c41672><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-a9c8afb8><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-a9c8afb8><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></label></div></div></div><div class="group" data-v-40855f84><div class="item social-links" data-v-40855f84><div class="VPSocialLinks social-links-list" data-v-40855f84 data-v-f6988cfb><!--[--><a class="VPSocialLink" href="https://github.com/tiann/KernelSU" aria-label="github" target="_blank" rel="noopener" data-v-f6988cfb data-v-c530cc0a><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-94c81dcc 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" data-v-b2cf3e0b data-v-392e1bf8><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-392e1bf8><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="menu-icon" data-v-392e1bf8><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-392e1bf8>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-392e1bf8 data-v-079b16a8><button data-v-079b16a8>Return to top</button><!----></div></div><aside class="VPSidebar" data-v-b2cf3e0b data-v-af16598e><div class="curtain" data-v-af16598e></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-af16598e><span class="visually-hidden" id="sidebar-aria-label" data-v-af16598e> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-af16598e><section class="VPSidebarItem level-0 has-active" data-v-af16598e data-v-c4656e6d><div class="item" role="button" tabindex="0" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><h2 class="text" data-v-c4656e6d>Guide</h2><!----></div><div class="items" data-v-c4656e6d><!--[--><div class="VPSidebarItem level-1 is-link" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/what-is-kernelsu.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>什么是 KernelSU?</p><!--]--><!----></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/installation.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>安装</p><!--]--><!----></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/how-to-build.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>如何构建?</p><!--]--><!----></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/how-to-integrate-for-non-gki.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>如何为非GKI设备集成 KernelSU</p><!--]--><!----></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/unofficially-support-devices.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>非官方支持设备</p><!--]--><!----></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/module.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>模块开发指南</p><!--]--><!----></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link is-active has-active" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/app-profile.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>App Profile</p><!--]--><!----></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/rescue-from-bootloop.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>救砖</p><!--]--><!----></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/faq.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>常见问题</p><!--]--><!----></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-c4656e6d data-v-c4656e6d><div class="item" data-v-c4656e6d><div class="indicator" data-v-c4656e6d></div><a class="VPLink link link" href="/zh_CN/guide/hidden-features.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>隐藏功能</p><!--]--><!----></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-b2cf3e0b data-v-a494bd1d><div class="VPDoc has-sidebar has-aside" data-v-a494bd1d data-v-c4b0d3cf><!--[--><!--]--><div class="container" data-v-c4b0d3cf><div class="aside" data-v-c4b0d3cf><div class="aside-curtain" data-v-c4b0d3cf></div><div class="aside-container" data-v-c4b0d3cf><div class="aside-content" data-v-c4b0d3cf><div class="VPDocAside" data-v-c4b0d3cf data-v-3f215769><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" data-v-3f215769 data-v-ff0f39c8><div class="content" data-v-ff0f39c8><div class="outline-marker" data-v-ff0f39c8></div><div class="outline-title" data-v-ff0f39c8>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-ff0f39c8><span class="visually-hidden" id="doc-outline-aria-label" data-v-ff0f39c8> Table of Contents for current page </span><ul class="root" data-v-ff0f39c8 data-v-9a431c33><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-3f215769></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-c4b0d3cf><div class="content-container" data-v-c4b0d3cf><!--[--><!--]--><!----><main class="main" data-v-c4b0d3cf><div style="position:relative;" class="vp-doc _zh_CN_guide_app-profile" data-v-c4b0d3cf><div><h1 id="app-profile" tabindex="-1">App Profile <a class="header-anchor" href="#app-profile" aria-label="Permalink to "App Profile""></a></h1><p>App Profile 是 KernelSU 提供的一种针对各种应用自定义其使用配置的机制。</p><p>对授予了 root 权限(也即可以使用 <code>su</code>)的应用来说,App Profile 也可以称之为 Root Profile,它可以自定义 <code>su</code> 的 <code>uid</code>, <code>gid</code>, <code>groups</code>, <code>capabilities</code> 以及 <code>SELinux</code> 规则,从而限制 root 用户的权限;比如可以针对防火墙应用仅授予网络权限,而不授予文件访问权限,针对冻结类应用仅授予 shell 权限而不是直接给 root;通过最小化权限原则<strong>把权力关进笼子里</strong>。</p><p>对于没有被授予 root 权限的普通应用,App Profile 可以控制内核以及模块系统对此应用的行为;比如是否需要针对此应用卸载模块造成的修改等。内核和模块系统可以通过此配置决定是否要做一些类似“隐藏痕迹”类的操作。</p><h2 id="root-profile" tabindex="-1">Root Profile <a class="header-anchor" href="#root-profile" aria-label="Permalink to "Root Profile""></a></h2><h3 id="uid、gid-和-groups" tabindex="-1">UID、GID 和 groups <a class="header-anchor" href="#uid、gid-和-groups" aria-label="Permalink to "UID、GID 和 groups""></a></h3><p>Linux 系统中有用户和组两个概念。每个用户都有一个用户 ID(UID),一个用户可以属于多个组,每个组也有组 ID(GID)。该 ID 用于识别系统的用户并确定用户可以访问哪些系统资源。</p><p>UID 为 0 的用户被称之为 root 用户,GID 为 0 的组被称之为 root 组;root 用户组通常拥有系统的最高权限。</p><p>对于 Android 系统来说,每一个 App 都是一个单独的用户(不考虑 share uid 的情况),拥有一个唯一的 UID。比如 <code>0</code> 是 root 用户,<code>1000</code> 是 <code>system</code>,<code>2000</code> 是 ADB shell,10000-19999 的是普通用户。</p><div class="info custom-block"><p class="custom-block-title">INFO</p><p>此处的 UID 跟 Android 系统的多用户,或者说工作资料(Work Profile),不是一个概念。工作资料实际上是对 UID 进行分片实现的,比如 10000-19999 是主用户,110000-119999 是工作资料;他们中的任何一个普通应用都拥有自己独有的 UID。</p></div><p>每一个 App 可以有若干个组,GID 使其主要的组,通常与 UID 一致;其他的组被称之为补充组(groups)。某些权限是通过组控制的,比如网络访问,蓝牙等。</p><p>例如,如果我们在 ADB shell 中执行 <code>id</code> 命令,会得到如下输出:</p><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">oriole:/</span><span style="color:#A6ACCD;"> $ </span><span style="color:#C3E88D;">id</span></span>
|
||
<span class="line"><span style="color:#A6ACCD;">uid</span><span style="color:#89DDFF;">=</span><span style="color:#F78C6C;">2000</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">shell</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> gid</span><span style="color:#89DDFF;">=</span><span style="color:#F78C6C;">2000</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">shell</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> groups</span><span style="color:#89DDFF;">=</span><span style="color:#F78C6C;">2000</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">shell</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,1004</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">input</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,1007</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">log</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,1011</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">adb</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,1015</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">sdcard_rw</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,1028</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">sdcard_r</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,1078</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">ext_data_rw</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,1079</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">ext_obb_rw</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,3001</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">net_bt_admin</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,3002</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">net_bt</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,3003</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">inet</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,3006</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">net_bw_stats</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,3009</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">readproc</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,3011</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">uhid</span><span style="color:#89DDFF;">)</span><span style="color:#C3E88D;">,3012</span><span style="color:#89DDFF;">(</span><span style="color:#FFCB6B;">readtracefs</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> context</span><span style="color:#89DDFF;">=</span><span style="color:#C3E88D;">u:r:shell:s0</span></span></code></pre></div><p>其中,UID 为 <code>2000</code>,GID 也即主要组 ID 也为 <code>2000</code>;除此之外它还在很多补充组里面,例如 <code>inet</code> 组代表可以创建 <code>AF_INET</code> 和 <code>AF_INET6</code> 的 socket(访问网络),<code>sdcard_rw</code> 代表可以读写 sdcard 等。</p><p>KernelSU 的 Root Profile 可以自定义执行 <code>su</code> 后 root 进程的 UID, GID 和 groups。例如,你可以设置某个 root 应用的 Root Profile 其 UID 为 <code>2000</code>,这意味着此应用在使用 <code>su</code> 的时候,它的实际权限是 ADB Shell 级别;你可以去掉 groups 中的 <code>inet</code>,这样这个 <code>su</code> 就无法访问网络。</p><div class="tip custom-block"><p class="custom-block-title">注意</p><p>App Profile 仅仅是控制 root 应用使用 <code>su</code> 后的权限,它并非控制 App 本身的权限!如果 App 本身申请了网络访问权限,那么它即使不使用 <code>su</code> 也可以访问网络;为 <code>su</code> 去掉 <code>inet</code> 组仅仅是让 <code>su</code> 无法访问网络。</p></div><p>与应用通过 <code>su</code> 主动切换用户或者组不同,Root Profile 是在内核中强制实施的,不依赖 root 应用的自觉行为,<code>su</code> 权限的授予完全取决于用户而非开发者。</p><h3 id="capabilities" tabindex="-1">Capabilities <a class="header-anchor" href="#capabilities" aria-label="Permalink to "Capabilities""></a></h3><p>Capabilities 是 Linux 的一种分权机制。</p><p>传统的 UNIX 系统为了执行权限检查,将进程分为两类:特权进程(其有效用户 ID 为 0,称为超级用户或 root)和非特权进程(其有效 UID 为非零)。特权进程会绕过所有内核权限检查,而非特权进程则根据其凭据(通常是有效UID、有效GID和补充组列表)进行完整的权限检查。</p><p>从 Linux 2.2开始,Linux 将传统上与超级用户关联的特权分解为独立的单元,称为 Capabilities(有的也翻译为“权能”),它们可以独立启用和禁用。</p><p>每一个 Capability 代表一个或者一类权限。比如 <code>CAP_DAC_READ_SEARCH</code> 就代表是否有能力绕过文件读取权限检查和目录读取和执行权限检查。如果一个有效 UID 为 <code>0</code> 的用户(root 用户)没有 <code>CAP_DAC_READ_SEARCH</code> 或者更高 Capalities,这意味着即使它是 root 也不能随意读取文件。</p><p>KernelSU 的 Root Profile 可以自定义执行 <code>su</code> 后 root 进程的 Capabilities,从而实现只授予“部分 root 权限”。与上面介绍的 UID, GID 不同,某些 root 应用就是需要 <code>su</code> 后 UID 是 <code>0</code>,此时我们可以通过限制这个 UID 为 <code>0</code> 的 root 用户的 Capabilities,就可以限制它能够执行的操作。</p><div class="tip custom-block"><p class="custom-block-title">强烈建议</p><p>Linux 系统关于 Capability 的 <a href="https://man7.org/linux/man-pages/man7/capabilities.7.html" target="_blank" rel="noreferrer">官方文档</a>,解释了每一项 Capability 所代表的能力,写的非常详细,如果你想要自定义 Capabilities,请务必先阅读此文档。</p></div><h3 id="selinux" tabindex="-1">SELinux <a class="header-anchor" href="#selinux" aria-label="Permalink to "SELinux""></a></h3><p>SELinux 是一种强大的强制性权限访问控制(MAC)机制。它按照<strong>默认拒绝</strong>的原则运行:任何未经明确允许的行为都会被拒绝。</p><p>SELinux 可按两种全局模式运行:</p><ol><li>宽容模式:权限拒绝事件会被记录下来,但不会被强制执行。</li><li>强制模式:权限拒绝事件会被记录下来<strong>并</strong>强制执行。</li></ol><div class="warning custom-block"><p class="custom-block-title">警告</p><p>现代的 Android 系统极度依赖 SELinux 来保障整个系统的安全性,我们强烈建议您不要使用任何以“宽容模式”运行的自定义系统,因为那样与裸奔没什么区别。</p></div><p>SELinux 的完整概念比较复杂,我们这里不打算讲解它的具体工作方式,建议你先通过以下资料来了解其工作原理:</p><ol><li><a href="https://en.wikipedia.org/wiki/Security-Enhanced_Linux" target="_blank" rel="noreferrer">wikipedia</a></li><li><a href="https://www.redhat.com/en/topics/linux/what-is-selinux" target="_blank" rel="noreferrer">Redhat: what-is-selinux</a></li><li><a href="https://wiki.archlinux.org/title/SELinux" target="_blank" rel="noreferrer">ArchLinux: SELinux</a></li></ol><p>KernelSU 的 Root Profile 可以自定义执行 <code>su</code> 后 root 进程的 SELinux context,并且可以针对这个 context 设置特定的访问控制规则,从而更加精细化地控制 root 权限。</p><p>通常情况下,应用执行 <code>su</code> 后,会将进程切换到一个 <strong>不受任何限制</strong> 的 SELinux 域,比如 <code>u:r:su:s0</code>,通过 Root Profile,我们可以将它切换到一个自定义的域,比如 <code>u:r:app1:s0</code>,然后为这个域制定一系列规则:</p><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#82AAFF;">type</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">app1</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">enforce</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">app1</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">typeattribute</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">app1</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">mlstrustedsubject</span></span>
|
||
<span class="line"><span style="color:#FFCB6B;">allow</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">app1</span><span style="color:#A6ACCD;"> </span><span style="color:#A6ACCD;">*</span><span style="color:#A6ACCD;"> </span><span style="color:#A6ACCD;">*</span><span style="color:#A6ACCD;"> </span><span style="color:#A6ACCD;">*</span></span></code></pre></div><p>注意:此处的 <code>allow app1 * * *</code> 仅仅作为演示方便而使用,实际过程中不应使用这个规则,因为它跟 permissive 区别不大。</p><h3 id="逃逸" tabindex="-1">逃逸 <a class="header-anchor" href="#逃逸" aria-label="Permalink to "逃逸""></a></h3><p>如果 Root Profile 的配置不合理,那么可能会发生逃逸的情况:Root Profile 的限制会意外失效。</p><p>比如,如果你为 ADB shell 用户设置允许 root 权限(这是相当常见的情况);然后你给某个普通应用允许 root 权限,但是配置它的 root profile 中的 UID 为 2000(ADB shell 用户的 UID);那么此时,这个 App 可以通过执行两次 <code>su</code> 来获得完整的 root 权限:</p><ol><li>第一次执行 <code>su</code>,由于 App Profile 强制生效,会正常切换到 UID 为 <code>2000(adb shell)</code> 而非 <code>0(root)</code>。</li><li>第二次执行 <code>su</code>,由于此时它 UID 是 <code>2000</code>,而你给 <code>2000(adb shell)</code> 配置了允许 root,它会获得完整的 root 权限!</li></ol><div class="warning custom-block"><p class="custom-block-title">注意</p><p>这是完全符合预期的行为,并非 BUG!因此我们建议:</p><p>如果你的确需要给 adb 授予 root 权限(比如你是开发者),那么不建议你在配置 Root Profile 的时候将 UID 改成 <code>2000</code>,用 <code>1000(system)</code> 会更好。</p></div><h2 id="non-root-profile" tabindex="-1">Non Root Profile <a class="header-anchor" href="#non-root-profile" aria-label="Permalink to "Non Root Profile""></a></h2><h3 id="卸载模块" tabindex="-1">卸载模块 <a class="header-anchor" href="#卸载模块" aria-label="Permalink to "卸载模块""></a></h3><p>KernelSU 提供了一种 systemless 的方式来修改系统分区,这是通过挂载 overlayfs 来实现的。但有些情况下,App 可能会对这种行为比较敏感;因此,我们可以通过设置“卸载模块”来卸载挂载在这些 App 上的模块。</p><p>另外,KernelSU 管理器的设置界面还提供了一个“默认卸载模块”的开关,这个开关默认情况下是<strong>开启</strong>的,这意味着<strong>如果不对 App 做额外的设置</strong>,默认情况下 KernelSU 或者某些模块会对此 App 执行卸载操作。当然,如果你不喜欢这个设置或者这个设置会影响某些 App,可以有如下选择:</p><ol><li>保持“默认卸载模块”的开关,然后针对不需要“卸载模块”的 App 进行单独的设置,在 App Profile 中关闭“卸载模块”;(相当于“白名单“)。</li><li>关闭“默认卸载模块”的开关,然后针对需要“卸载模块”的 App 进行单独的设置,在 App Profile 中开启“卸载模块”;(相当于“黑名单“)。</li></ol><div class="info custom-block"><p class="custom-block-title">INFO</p><p>KernelSU 在 5.10 及以上内核上,内核会执行“卸载模块”的操作;但在 5.10 以下的设备上,这个开关仅仅是一个“配置项”,KernelSU 本身不会做任何动作,一些模块(如 Zygisksu 会通过这个模块决定是否需要卸载)</p></div></div></div></main><footer class="VPDocFooter" data-v-c4b0d3cf data-v-face870a><!--[--><!--]--><div class="edit-info" data-v-face870a><div class="edit-link" data-v-face870a><a class="VPLink link edit-link-button" href="https://github.com/tiann/KernelSU/edit/main/website/docs/zh_CN/guide/app-profile.md" target="_blank" rel="noreferrer" data-v-face870a data-v-8f4dc553><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" aria-label="edit icon" data-v-face870a><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><div class="prev-next" data-v-face870a><div class="pager" data-v-face870a><a class="pager-link prev" href="/zh_CN/guide/module.html" data-v-face870a><span class="desc" data-v-face870a>Previous page</span><span class="title" data-v-face870a>模块开发指南</span></a></div><div class="has-prev pager" data-v-face870a><a class="pager-link next" href="/zh_CN/guide/rescue-from-bootloop.html" data-v-face870a><span class="desc" data-v-face870a>Next page</span><span class="title" data-v-face870a>救砖</span></a></div></div></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter has-sidebar" data-v-b2cf3e0b data-v-2f86ebd2><div class="container" data-v-2f86ebd2><p class="message" data-v-2f86ebd2>在 GPL3 许可证下发布。</p><p class="copyright" data-v-2f86ebd2>Copyright © 2022-现在 KernelSU 开发者</p></div></footer><!--[--><!--]--></div></div>
|
||
<script>__VP_HASH_MAP__ = JSON.parse("{\"guide_difference-with-magisk.md\":\"88801b6b\",\"guide_what-is-kernelsu.md\":\"340bbd63\",\"id_id_index.md\":\"9ad2e601\",\"ja_jp_index.md\":\"be3c7573\",\"index.md\":\"042b4c20\",\"pt_br_guide_app-profile.md\":\"7a2ced3a\",\"id_id_guide_installation.md\":\"a7bb551d\",\"id_id_guide_how-to-integrate-for-non-gki.md\":\"16b9216a\",\"ja_jp_guide_faq.md\":\"998d2dfd\",\"pt_br_guide_difference-with-magisk.md\":\"319599e7\",\"id_id_guide_how-to-build.md\":\"1ecedb69\",\"id_id_guide_rescue-from-bootloop.md\":\"ec3ef7ee\",\"vi_vn_guide_app-profile.md\":\"37d09526\",\"pt_br_guide_what-is-kernelsu.md\":\"b42bbc04\",\"vi_vn_guide_rescue-from-bootloop.md\":\"d796809c\",\"vi_vn_guide_difference-with-magisk.md\":\"efd07233\",\"pt_br_guide_how-to-integrate-for-non-gki.md\":\"9373963e\",\"pt_br_guide_installation.md\":\"8193d15a\",\"pt_br_guide_how-to-build.md\":\"50a0b380\",\"ru_ru_guide_app-profile.md\":\"8936210e\",\"vi_vn_guide_faq.md\":\"e9230071\",\"vi_vn_guide_hidden-features.md\":\"fca4632f\",\"pt_br_guide_rescue-from-bootloop.md\":\"f4a13bcd\",\"vi_vn_guide_how-to-build.md\":\"f5e5323c\",\"guide_how-to-build.md\":\"cf9f2c40\",\"guide_installation.md\":\"ec5f3b13\",\"zh_tw_guide_rescue-from-bootloop.md\":\"db20cf2e\",\"guide_faq.md\":\"234d8c0d\",\"ru_ru_guide_how-to-build.md\":\"1b3dd3fb\",\"id_id_guide_unofficially-support-devices.md\":\"3238b4be\",\"zh_cn_index.md\":\"7dc4034d\",\"zh_cn_guide_what-is-kernelsu.md\":\"cdc98b69\",\"id_id_guide_faq.md\":\"8fe1170a\",\"ja_jp_guide_unofficially-support-devices.md\":\"ca3f04b0\",\"id_id_guide_what-is-kernelsu.md\":\"aee47f37\",\"zh_cn_guide_module.md\":\"88839cd5\",\"zh_tw_guide_module.md\":\"76671e26\",\"zh_cn_guide_installation.md\":\"612797b7\",\"zh_cn_guide_hidden-features.md\":\"cdd5624f\",\"id_id_guide_module.md\":\"a65f7310\",\"ru_ru_guide_installation.md\":\"bd641868\",\"ru_ru_guide_difference-with-magisk.md\":\"d55db77b\",\"vi_vn_guide_module.md\":\"907befd3\",\"ru_ru_guide_rescue-from-bootloop.md\":\"d9d6936e\",\"vi_vn_index.md\":\"a84edf49\",\"zh_cn_guide_difference-with-magisk.md\":\"223f61d1\",\"vi_vn_guide_what-is-kernelsu.md\":\"bea8d4b7\",\"pt_br_guide_hidden-features.md\":\"df3f1d4b\",\"zh_tw_guide_how-to-build.md\":\"ef330d07\",\"zh_tw_guide_difference-with-magisk.md\":\"161de8ef\",\"zh_cn_guide_rescue-from-bootloop.md\":\"3d907e03\",\"ja_jp_guide_what-is-kernelsu.md\":\"779775a2\",\"ru_ru_guide_unofficially-support-devices.md\":\"fdcfea2d\",\"guide_hidden-features.md\":\"45e791e6\",\"ru_ru_guide_hidden-features.md\":\"395803e0\",\"guide_how-to-integrate-for-non-gki.md\":\"35d629c6\",\"guide_rescue-from-bootloop.md\":\"86b40f3b\",\"guide_unofficially-support-devices.md\":\"d9173329\",\"ja_jp_guide_installation.md\":\"2cc6f4de\",\"ja_jp_guide_hidden-features.md\":\"9c5dddb2\",\"ja_jp_guide_module.md\":\"8abad8eb\",\"zh_cn_guide_how-to-integrate-for-non-gki.md\":\"891eeb81\",\"zh_cn_guide_unofficially-support-devices.md\":\"e2fd6c11\",\"zh_tw_guide_unofficially-support-devices.md\":\"e385e7b5\",\"ru_ru_guide_faq.md\":\"e0aa7004\",\"zh_tw_guide_what-is-kernelsu.md\":\"a2ba0439\",\"id_id_guide_difference-with-magisk.md\":\"abc25e03\",\"ja_jp_guide_rescue-from-bootloop.md\":\"d26f95c4\",\"zh_cn_guide_app-profile.md\":\"557e9b58\",\"guide_app-profile.md\":\"9faae288\",\"guide_module.md\":\"1b64f354\",\"pt_br_guide_unofficially-support-devices.md\":\"007edca2\",\"zh_tw_index.md\":\"896578f0\",\"zh_tw_guide_hidden-features.md\":\"f0bea9ae\",\"pt_br_guide_module.md\":\"039201f7\",\"zh_tw_guide_how-to-integrate-for-non-gki.md\":\"e3487c4d\",\"ru_ru_index.md\":\"4f8b1975\",\"zh_cn_guide_faq.md\":\"30eb8f8e\",\"vi_vn_guide_unofficially-support-devices.md\":\"b3af952a\",\"zh_tw_guide_installation.md\":\"0f23d3bf\",\"pt_br_guide_faq.md\":\"e1ef8622\",\"vi_vn_guide_installation.md\":\"7fef5e5e\",\"pt_br_index.md\":\"a1524471\",\"zh_tw_guide_faq.md\":\"bea0a7af\",\"ru_ru_guide_how-to-integrate-for-non-gki.md\":\"7c70c478\",\"ja_jp_guide_difference-with-magisk.md\":\"34107b11\",\"zh_cn_guide_how-to-build.md\":\"f4f2a6dd\",\"vi_vn_guide_how-to-integrate-for-non-gki.md\":\"9b3f1403\",\"ru_ru_guide_module.md\":\"2cf2aec7\",\"ru_ru_guide_what-is-kernelsu.md\":\"b17b08a8\"}")
|
||
__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> |