You've already forked KernelSU
mirror of
https://github.com/tiann/KernelSU.git
synced 2025-08-27 23:46:34 +00:00
26 lines
57 KiB
HTML
26 lines
57 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="vi-VN" 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="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.">
|
||
<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/vi_VN_guide_app-profile.md.37d09526.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="/vi_VN/" 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="/vi_VN/guide/what-is-kernelsu.html" tabindex="0" data-v-7f418b0f data-v-37adc828 data-v-8f4dc553><!--[-->Hướng Dẫn<!--]--><!----></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>Tiếng Việt</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_CN/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="/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="/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>Tiếng Việt</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_CN/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="/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="/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" 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>Hướng Dẫn</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="/vi_VN/guide/what-is-kernelsu.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>KernelSU là gì?</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="/vi_VN/guide/installation.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>Cách cài đặt</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="/vi_VN/guide/how-to-build.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>Cách để build?</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="/vi_VN/guide/how-to-integrate-for-non-gki.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>Tích hợp vào thiết bị không sử dụng GKI</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="/vi_VN/guide/unofficially-support-devices.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>Thiết bị hỗ trợ không chính thức</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="/vi_VN/guide/faq.html" data-v-c4656e6d data-v-8f4dc553><!--[--><p class="text" data-v-c4656e6d>FAQ - Câu hỏi thường gặp</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 _vi_VN_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 là một cơ chế do KernelSU cung cấp để tùy chỉnh cấu hình của các ứng dụng khác nhau.</p><p>Đối với các ứng dụng được cấp quyền root (tức là có thể sử dụng <code>su</code>), App Profile cũng có thể được gọi là Root Profile. Nó cho phép tùy chỉnh các quy tắc <code>uid</code>, <code>gid</code>, <code>groups</code>, <code>capabilities</code> và <code>SELinux</code> của lệnh <code>su</code>, do đó hạn chế các đặc quyền của người dùng root. Ví dụ: nó có thể chỉ cấp quyền mạng cho các ứng dụng tường lửa trong khi từ chối quyền truy cập tệp hoặc có thể cấp quyền shell thay vì quyền truy cập root đầy đủ cho các ứng dụng đóng băng: <strong>giữ nguồn điện theo nguyên tắc đặc quyền tối thiểu.</strong></p><p>Đối với các ứng dụng thông thường không có quyền root, App Profile có thể kiểm soát hành vi của hệ thống kernel và mô-đun đối với các ứng dụng này. Ví dụ, nó có thể xác định liệu các sửa đổi do mô-đun tạo ra có nên được giải quyết hay không. Hệ thống kernel và mô-đun có thể đưa ra quyết định dựa trên cấu hình này, chẳng hạn như thực hiện các hoạt động tương tự như "hiding"</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-va-groups" tabindex="-1">UID, GID, và Groups <a class="header-anchor" href="#uid-gid-va-groups" aria-label="Permalink to "UID, GID, và Groups""></a></h3><p>Hệ thống Linux có hai khái niệm: người dùng (user) và nhóm (group). Mỗi người dùng có một user ID (UID) và một người dùng có thể thuộc nhiều nhóm, mỗi nhóm có group ID (GID) riêng. Những ID này được sử dụng để xác định người dùng trong hệ thống và xác định tài nguyên hệ thống nào họ có thể truy cập.</p><p>Người dùng có UID bằng 0 được gọi là người dùng root và các nhóm có GID bằng 0 được gọi là nhóm root. Nhóm người dùng root thường giữ các đặc quyền hệ thống cao nhất.</p><p>Trong trường hợp hệ thống Android, mỗi ứng dụng là một người dùng riêng biệt (không bao gồm các trường hợp UID dùng chung) với một UID duy nhất. Ví dụ: <code>0</code> đại diện cho người dùng root, <code>1000</code> đại diện cho <code>system</code>, <code>2000</code> đại diện cho ADB shell và các UID từ 10000 đến 19999 đại diện cho các ứng dụng thông thường.</p><div class="info custom-block"><p class="custom-block-title">INFO</p><p>Ở đây, UID được đề cập không giống với khái niệm nhiều người dùng hoặc hồ sơ công việc (Work profile) trong hệ thống Android. Hồ sơ công việc thực sự được triển khai bằng cách phân vùng phạm vi UID. Ví dụ: 10000-19999 đại diện cho người dùng chính, trong khi 110000-119999 đại diện cho hồ sơ công việc. Mỗi ứng dụng thông thường trong số đó đều có UID riêng.</p></div><p>Mỗi ứng dụng có thể có nhiều nhóm, với GID đại diện cho nhóm chính, thường khớp với UID. Các nhóm khác được gọi là nhóm bổ sung. Một số quyền nhất định được kiểm soát thông qua các nhóm, chẳng hạn như quyền truy cập mạng hoặc truy cập Bluetooth.</p><p>Ví dụ: nếu chúng ta thực thi lệnh <code>id</code> trong shell ADB, kết quả đầu ra có thể trông như thế này:</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>Ở đây, UID là <code>2000</code> và GID (ID nhóm chính) cũng là <code>2000</code>. Ngoài ra, nó thuộc một số nhóm bổ sung, chẳng hạn như <code>inet</code> (biểu thị khả năng tạo ổ cắm <code>AF_INET</code> và <code>AF_INET6</code>) và <code>sdcard_rw</code> (biểu thị quyền đọc/ghi đối với thẻ SD).</p><p>Root Profile của KernelSU cho phép tùy chỉnh UID, GID và các nhóm cho quy trình gốc sau khi thực thi <code>su</code>. Ví dụ: Cấu hình gốc của ứng dụng gốc có thể đặt UID của nó thành <code>2000</code>, có nghĩa là khi sử dụng <code>su</code>, các quyền thực tế của ứng dụng sẽ ở cấp shell ADB. Nhóm <code>inet</code> có thể bị xóa, ngăn lệnh <code>su</code> truy cập mạng.</p><div class="tip custom-block"><p class="custom-block-title">Ghi chú</p><p>Hồ sơ ứng dụng chỉ kiểm soát các quyền của tiến trình gốc sau khi sử dụng <code>su</code>; nó không kiểm soát các quyền của ứng dụng. Nếu một ứng dụng đã yêu cầu quyền truy cập mạng, ứng dụng đó vẫn có thể truy cập mạng ngay cả khi không sử dụng <code>su</code>. Việc xóa nhóm <code>inet</code> khỏi <code>su</code> chỉ ngăn <code>su</code> truy cập mạng.</p></div><p>Root Profile được thực thi trong kernel và không dựa vào hành vi tự nguyện của các ứng dụng root, không giống như việc chuyển đổi người dùng hoặc nhóm thông qua <code>su</code>, việc cấp quyền <code>su</code> hoàn toàn phụ thuộc vào người dùng chứ không phải nhà phát triển.</p><h3 id="capabilities" tabindex="-1">Capabilities <a class="header-anchor" href="#capabilities" aria-label="Permalink to "Capabilities""></a></h3><p>Capabilities (khả năng) là một cơ chế phân tách đặc quyền trong Linux.</p><p>Với mục đích thực hiện kiểm tra quyền, việc triển khai UNIX truyền thống phân biệt hai loại quy trình: quy trình đặc quyền (có ID người dùng hiệu quả là 0, được gọi là siêu người dùng hoặc root) và quy trình không có đặc quyền (có UID hiệu dụng khác 0). Các quy trình đặc quyền bỏ qua tất cả các bước kiểm tra quyền của kernel, trong khi các quy trình không có đặc quyền phải chịu sự kiểm tra quyền đầy đủ dựa trên thông tin xác thực của quy trình (thường là: UID hiệu quả, GID hiệu quả và danh sách nhóm bổ sung).</p><p>Bắt đầu với Linux 2.2, Linux chia các đặc quyền truyền thống được liên kết với siêu người dùng thành các đơn vị riêng biệt, được gọi là các khả năng, có thể được bật và tắt một cách độc lập.</p><p>Mỗi Khả năng đại diện cho một hoặc nhiều đặc quyền. Ví dụ: <code>CAP_DAC_READ_SEARCH</code> thể hiện khả năng bỏ qua việc kiểm tra quyền để đọc tệp cũng như quyền đọc và thực thi thư mục. Nếu người dùng có UID hiệu dụng là <code>0</code> (người dùng root) thiếu khả năng <code>CAP_DAC_READ_SEARCH</code> hoặc cao hơn, điều này có nghĩa là ngay cả khi họ là root, họ không thể tùy ý đọc tệp.</p><p>Cấu hình gốc của KernelSU cho phép tùy chỉnh các Khả năng của tiến trình gốc sau khi thực thi <code>su</code>, nhờ đó đạt được việc cấp một phần "quyền root". Không giống như UID và GID đã nói ở trên, một số ứng dụng gốc nhất định yêu cầu UID là <code>0</code> sau khi sử dụng <code>su</code>. Trong những trường hợp như vậy, việc giới hạn Khả năng của người dùng root này bằng UID <code>0</code> có thể hạn chế các hoạt động được phép của họ.</p><div class="tip custom-block"><p class="custom-block-title">Rất Khuyến Nghị</p><p>Capabilities của Linux <a href="https://man7.org/linux/man-pages/man7/capabilities.7.html" target="_blank" rel="noreferrer">tài liệu chính thức</a> cung cấp giải thích chi tiết về các khả năng mà mỗi Capabilities thể hiện. Nếu bạn có ý định tùy chỉnh Capabilities, bạn nên đọc tài liệu này trước.</p></div><h3 id="selinux" tabindex="-1">SELinux <a class="header-anchor" href="#selinux" aria-label="Permalink to "SELinux""></a></h3><p>SELinux là một cơ chế Kiểm Soát Truy Cập Bắt Buộc (Mandatory Access Control: MAC) mạnh mẽ. Nó hoạt động theo nguyên tắc <strong>từ chối mặc định</strong>: bất kỳ hành động nào không được cho phép rõ ràng đều bị từ chối.</p><p>SELinux có thể chạy ở hai chế độ chung:</p><ol><li>Chế độ cho phép (Permissive mode): Các sự kiện từ chối được ghi lại nhưng không được thực thi.</li><li>Chế độ thực thi (Enforcing mode): Các sự kiện từ chối được ghi lại và thực thi.</li></ol><div class="warning custom-block"><p class="custom-block-title">Cảnh báo</p><p>Các hệ thống Android hiện đại phụ thuộc rất nhiều vào SELinux để đảm bảo an ninh hệ thống tổng thể. Chúng tôi khuyên bạn không nên sử dụng bất kỳ hệ thống tùy chỉnh nào chạy ở "chế độ cho phép" vì nó không mang lại lợi thế đáng kể nào so với hệ thống mở hoàn toàn.</p></div><p>Việc giải thích khái niệm đầy đủ về SELinux rất phức tạp và nằm ngoài phạm vi của tài liệu này. Trước tiên nên hiểu hoạt động của nó thông qua các tài nguyên sau:</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">Red Hat: What Is SELinux?</a></li><li><a href="https://wiki.archlinux.org/title/SELinux" target="_blank" rel="noreferrer">ArchLinux: SELinux</a></li></ol><p>Root Profile của KernelSU cho phép tùy chỉnh ngữ cảnh SELinux của tiến trình gốc sau khi thực thi <code>su</code>. Các quy tắc kiểm soát truy cập cụ thể có thể được đặt cho bối cảnh này để cho phép kiểm soát chi tiết hơn các quyền .</p><p>Trong các trường hợp điển hình, khi một ứng dụng thực thi <code>su</code>, nó sẽ chuyển quy trình sang miền SELinux với <strong>quyền truy cập không hạn chế</strong>, chẳng hạn như <code>u:r:su:s0</code>. Thông qua Root Profile, miền này có thể được chuyển sang miền tùy chỉnh, chẳng hạn như <code>u:r:app1:s0</code> và một loạt quy tắc có thể được xác định cho miền này:</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>Lưu ý rằng quy tắc <code>allow app1 * * *</code> chỉ được sử dụng cho mục đích minh họa. Trong thực tế, quy tắc này không nên được sử dụng rộng rãi vì nó không khác nhiều so với chế độ cho phép.</p><h3 id="escalation" tabindex="-1">Escalation <a class="header-anchor" href="#escalation" aria-label="Permalink to "Escalation""></a></h3><p>Nếu cấu hình của Root Profile không được đặt đúng cách, một tình huống escalation (leo thang) có thể xảy ra: các hạn chế do Root Profile áp đặt có thể vô tình bị lỗi.</p><p>Ví dụ: nếu bạn cấp quyền root cho người dùng shell ADB (đây là trường hợp phổ biến), sau đó bạn cấp quyền root cho một ứng dụng thông thường nhưng định cấu hình cấu hình gốc của nó bằng UID 2000 (là UID của người dùng shell ADB) , ứng dụng có thể có được quyền truy cập root đầy đủ bằng cách thực hiện lệnh <code>su</code> hai lần:</p><ol><li>Lần thực thi <code>su</code> đầu tiên phải tuân theo sự thực thi của App Profile và sẽ chuyển sang UID <code>2000</code> (adb shell) thay vì <code>0</code> (root).</li><li>Lần thực thi <code>su</code> thứ hai, vì UID là <code>2000</code> và bạn đã cấp quyền truy cập root cho UID <code>2000</code> (adb shell) trong cấu hình, ứng dụng sẽ có toàn quyền root.</li></ol><div class="warning custom-block"><p class="custom-block-title">Ghi chú</p><p>Hành vi này hoàn toàn được mong đợi và không phải là lỗi. Vì vậy, chúng tôi khuyến nghị như sau:</p><p>Nếu bạn thực sự cần cấp quyền root cho ADB (ví dụ: với tư cách là nhà phát triển), bạn không nên thay đổi UID thành <code>2000</code> khi định cấu hình Root Profile. Sử dụng <code>1000</code> (hệ thống) sẽ là lựa chọn tốt hơn.</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="umount-modules" tabindex="-1">Umount Modules <a class="header-anchor" href="#umount-modules" aria-label="Permalink to "Umount Modules""></a></h3><p>KernelSU cung cấp một cơ chế systemless để sửa đổi các phân vùng hệ thống, đạt được thông qua việc gắn overlayfs. Tuy nhiên, một số ứng dụng có thể nhạy cảm với hành vi đó. Do đó, chúng ta có thể dỡ bỏ các mô-đun được gắn trên các ứng dụng này bằng cách đặt tùy chọn "umount modules".</p><p>Ngoài ra, giao diện cài đặt của trình quản lý KernelSU cung cấp một công tắc cho "umount modules by default". Theo mặc định, công tắc này được <strong>bật</strong>, có nghĩa là KernelSU hoặc một số mô-đun sẽ hủy tải các mô-đun cho ứng dụng này trừ khi áp dụng cài đặt bổ sung. Nếu bạn không thích cài đặt này hoặc nếu nó ảnh hưởng đến một số ứng dụng nhất định, bạn có các tùy chọn sau:</p><ol><li>Giữ nút chuyển cho "umount modules by default" và tắt riêng tùy chọn "umount modules" trong App Profile đối với các ứng dụng yêu cầu tải mô-đun (hoạt động như "whitelist").</li><li>Tắt khóa chuyển cho "umount modules by default" và bật riêng tùy chọn "umount modules" trong App Profile cho các ứng dụng yêu cầu dỡ bỏ mô-đun (hoạt động như "blacklist").</li></ol><div class="info custom-block"><p class="custom-block-title">INFO</p><p>Trong các thiết bị sử dụng kernel phiên bản 5.10 trở lên, kernel thực hiện việc dỡ tải các mô-đun. Tuy nhiên, đối với các thiết bị chạy phiên bản kernel dưới 5.10, công tắc này chỉ đơn thuần là một tùy chọn cấu hình và bản thân KernelSU không thực hiện bất kỳ hành động nào. Một số mô-đun, chẳng hạn như Zygisksu, có thể sử dụng công tắc này để xác định xem có cần thiết phải dỡ bỏ mô-đun hay không.</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/vi_VN/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> Chỉnh sửa trang này trên GitHub<!--]--><!----></a></div><!----></div><div class="prev-next" data-v-face870a><div class="pager" data-v-face870a><!----></div><div class="pager" data-v-face870a><a class="pager-link next" href="/vi_VN/guide/what-is-kernelsu.html" data-v-face870a><span class="desc" data-v-face870a>Next page</span><span class="title" data-v-face870a>KernelSU là gì?</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>Phát hành dưới giấy phép GPL3.</p><p class="copyright" data-v-2f86ebd2>Bản Quyền © 2022-nay KernelSU Developers</p></div></footer><!--[--><!--]--></div></div>
|
||
<script>__VP_HASH_MAP__ = JSON.parse("{\"ru_ru_guide_how-to-integrate-for-non-gki.md\":\"7c70c478\",\"ru_ru_guide_faq.md\":\"6785049e\",\"ru_ru_guide_hidden-features.md\":\"395803e0\",\"ru_ru_guide_how-to-build.md\":\"1b3dd3fb\",\"zh_tw_guide_how-to-build.md\":\"ef330d07\",\"zh_cn_guide_how-to-build.md\":\"f4f2a6dd\",\"zh_cn_guide_installation.md\":\"612797b7\",\"zh_cn_guide_app-profile.md\":\"557e9b58\",\"guide_hidden-features.md\":\"45e791e6\",\"pt_br_guide_faq.md\":\"bfc97031\",\"pt_br_guide_hidden-features.md\":\"df3f1d4b\",\"pt_br_guide_how-to-build.md\":\"50a0b380\",\"pt_br_guide_how-to-integrate-for-non-gki.md\":\"9373963e\",\"guide_app-profile.md\":\"9faae288\",\"pt_br_guide_installation.md\":\"8193d15a\",\"pt_br_guide_module.md\":\"3c459c0f\",\"pt_br_guide_rescue-from-bootloop.md\":\"f4a13bcd\",\"pt_br_guide_unofficially-support-devices.md\":\"b158b182\",\"pt_br_guide_what-is-kernelsu.md\":\"b42bbc04\",\"pt_br_index.md\":\"a1524471\",\"ru_ru_guide_difference-with-magisk.md\":\"d39f4b2d\",\"ru_ru_guide_installation.md\":\"bd641868\",\"ru_ru_guide_module.md\":\"015ebdb2\",\"ru_ru_guide_unofficially-support-devices.md\":\"7727bdaf\",\"ru_ru_guide_what-is-kernelsu.md\":\"b17b08a8\",\"ru_ru_index.md\":\"4f8b1975\",\"vi_vn_guide_app-profile.md\":\"37d09526\",\"vi_vn_guide_difference-with-magisk.md\":\"16f29788\",\"vi_vn_guide_faq.md\":\"ef1e0e86\",\"vi_vn_guide_hidden-features.md\":\"fca4632f\",\"vi_vn_guide_how-to-build.md\":\"f5e5323c\",\"vi_vn_guide_how-to-integrate-for-non-gki.md\":\"9b3f1403\",\"vi_vn_guide_installation.md\":\"7fef5e5e\",\"vi_vn_guide_module.md\":\"a6a2e6fc\",\"vi_vn_guide_rescue-from-bootloop.md\":\"d796809c\",\"vi_vn_guide_unofficially-support-devices.md\":\"99ebdd84\",\"zh_cn_guide_difference-with-magisk.md\":\"401c4c2d\",\"zh_cn_guide_faq.md\":\"0939b2cb\",\"zh_cn_guide_hidden-features.md\":\"cdd5624f\",\"zh_cn_guide_module.md\":\"66de1042\",\"ru_ru_guide_rescue-from-bootloop.md\":\"d9d6936e\",\"guide_faq.md\":\"4a5fa376\",\"vi_vn_index.md\":\"a84edf49\",\"guide_rescue-from-bootloop.md\":\"86b40f3b\",\"guide_unofficially-support-devices.md\":\"c3cb02f4\",\"guide_what-is-kernelsu.md\":\"340bbd63\",\"id_id_guide_difference-with-magisk.md\":\"0aaca6ef\",\"id_id_guide_faq.md\":\"8fe1170a\",\"id_id_guide_how-to-build.md\":\"1ecedb69\",\"id_id_guide_how-to-integrate-for-non-gki.md\":\"16b9216a\",\"id_id_guide_installation.md\":\"a7bb551d\",\"id_id_guide_module.md\":\"372def27\",\"id_id_guide_rescue-from-bootloop.md\":\"ec3ef7ee\",\"id_id_guide_what-is-kernelsu.md\":\"aee47f37\",\"id_id_index.md\":\"9ad2e601\",\"index.md\":\"042b4c20\",\"ja_jp_guide_difference-with-magisk.md\":\"150a386f\",\"ja_jp_guide_faq.md\":\"94dc4bed\",\"ja_jp_guide_hidden-features.md\":\"9c5dddb2\",\"ja_jp_guide_installation.md\":\"2cc6f4de\",\"ja_jp_guide_module.md\":\"111a0bd0\",\"guide_how-to-build.md\":\"cf9f2c40\",\"guide_how-to-integrate-for-non-gki.md\":\"35d629c6\",\"guide_installation.md\":\"ec5f3b13\",\"ja_jp_guide_rescue-from-bootloop.md\":\"d26f95c4\",\"ja_jp_guide_unofficially-support-devices.md\":\"a90f34da\",\"guide_module.md\":\"0288d934\",\"ja_jp_index.md\":\"be3c7573\",\"pt_br_guide_app-profile.md\":\"7a2ced3a\",\"zh_cn_guide_rescue-from-bootloop.md\":\"3d907e03\",\"zh_cn_guide_unofficially-support-devices.md\":\"0d455b65\",\"zh_tw_guide_difference-with-magisk.md\":\"4315a5ce\",\"ru_ru_guide_app-profile.md\":\"8936210e\",\"zh_tw_guide_faq.md\":\"c68533d0\",\"zh_tw_guide_hidden-features.md\":\"f0bea9ae\",\"zh_cn_guide_what-is-kernelsu.md\":\"cdc98b69\",\"zh_cn_index.md\":\"7dc4034d\",\"id_id_guide_unofficially-support-devices.md\":\"64de668c\",\"vi_vn_guide_what-is-kernelsu.md\":\"bea8d4b7\",\"ja_jp_guide_what-is-kernelsu.md\":\"779775a2\",\"pt_br_guide_difference-with-magisk.md\":\"92ea83b4\",\"zh_tw_guide_how-to-integrate-for-non-gki.md\":\"e3487c4d\",\"zh_tw_guide_installation.md\":\"0f23d3bf\",\"zh_tw_guide_rescue-from-bootloop.md\":\"db20cf2e\",\"zh_tw_guide_unofficially-support-devices.md\":\"0da0b40b\",\"guide_difference-with-magisk.md\":\"869f5d82\",\"zh_tw_guide_what-is-kernelsu.md\":\"a2ba0439\",\"zh_tw_index.md\":\"896578f0\",\"zh_tw_guide_module.md\":\"c6111b20\",\"zh_cn_guide_how-to-integrate-for-non-gki.md\":\"891eeb81\"}")
|
||
__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> |