Website: Fix the GitHub name and improve the grammar in Brazilian Portuguese (#1138)
This commit is contained in:
@@ -36,7 +36,7 @@ export default defineConfig({
|
|||||||
function nav() {
|
function nav() {
|
||||||
return [
|
return [
|
||||||
{ text: 'Guide', link: '/guide/what-is-kernelsu' },
|
{ text: 'Guide', link: '/guide/what-is-kernelsu' },
|
||||||
{ text: 'Github', link: 'https://github.com/tiann/KernelSU' }
|
{ text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,4 +58,4 @@ function sidebarGuide() {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default defineConfig({
|
|||||||
function nav() {
|
function nav() {
|
||||||
return [
|
return [
|
||||||
{ text: 'Petunjuk', link: '/id_ID/guide/what-is-kernelsu' },
|
{ text: 'Petunjuk', link: '/id_ID/guide/what-is-kernelsu' },
|
||||||
{ text: 'Github', link: 'https://github.com/tiann/KernelSU' }
|
{ text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default defineConfig({
|
|||||||
function nav() {
|
function nav() {
|
||||||
return [
|
return [
|
||||||
{ text: 'ガイド', link: '/ja_JP/guide/what-is-kernelsu' },
|
{ text: 'ガイド', link: '/ja_JP/guide/what-is-kernelsu' },
|
||||||
{ text: 'Github', link: 'https://github.com/tiann/KernelSU' }
|
{ text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default defineConfig({
|
|||||||
function nav() {
|
function nav() {
|
||||||
return [
|
return [
|
||||||
{ text: 'Guia', link: '/pt_BR/guide/what-is-kernelsu' },
|
{ text: 'Guia', link: '/pt_BR/guide/what-is-kernelsu' },
|
||||||
{ text: 'Github', link: 'https://github.com/tiann/KernelSU' }
|
{ text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default defineConfig({
|
|||||||
function nav() {
|
function nav() {
|
||||||
return [
|
return [
|
||||||
{ text: 'Руководство', link: '/ru_RU/guide/what-is-kernelsu' },
|
{ text: 'Руководство', link: '/ru_RU/guide/what-is-kernelsu' },
|
||||||
{ text: 'Github', link: 'https://github.com/tiann/KernelSU' }
|
{ text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,4 +58,4 @@ function sidebarGuide() {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default defineConfig({
|
|||||||
function nav() {
|
function nav() {
|
||||||
return [
|
return [
|
||||||
{ text: 'Hướng Dẫn', link: '/vi_VN/guide/what-is-kernelsu' },
|
{ text: 'Hướng Dẫn', link: '/vi_VN/guide/what-is-kernelsu' },
|
||||||
{ text: 'Github', link: 'https://github.com/tiann/KernelSU' }
|
{ text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default defineConfig({
|
|||||||
function nav() {
|
function nav() {
|
||||||
return [
|
return [
|
||||||
{ text: '指南', link: '/zh_CN/guide/what-is-kernelsu' },
|
{ text: '指南', link: '/zh_CN/guide/what-is-kernelsu' },
|
||||||
{ text: 'Github', link: 'https://github.com/tiann/KernelSU' }
|
{ text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,4 +58,4 @@ function sidebarGuide() {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ export default defineConfig({
|
|||||||
function nav() {
|
function nav() {
|
||||||
return [
|
return [
|
||||||
{ text: '指南', link: '/zh_TW/guide/what-is-kernelsu' },
|
{ text: '指南', link: '/zh_TW/guide/what-is-kernelsu' },
|
||||||
{ text: 'Github', link: 'https://github.com/tiann/KernelSU' }
|
{ text: 'GitHub', link: 'https://github.com/tiann/KernelSU' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -57,4 +57,4 @@ function sidebarGuide() {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
|
|
||||||
Primeiro, seu dispositivo deve ser capaz de desbloquear o bootloader. Se não, então não há suporte.
|
Primeiro, seu dispositivo deve ser capaz de desbloquear o bootloader. Se não, então não há suporte.
|
||||||
|
|
||||||
Em seguida, instale o app gerenciador KernelSU em seu dispositivo e abra-o, se mostrar `Sem suporte` então seu dispositivo não pode ser suportado imediatamente, mas você pode construir a fonte do kernel e integrar o KernelSU para fazê-lo funcionar ou usar [dispositivos com suporte não oficial](unofficially-support-devices).
|
Em seguida, instale o app gerenciador do KernelSU em seu dispositivo e abra-o, se mostrar `Sem suporte` então seu dispositivo não pode ser suportado imediatamente, mas você pode construir a fonte do kernel e integrar o KernelSU para fazê-lo funcionar ou usar [Dispositivos com suporte não oficial](unofficially-support-devices).
|
||||||
|
|
||||||
## KernelSU precisa desbloquear o Bootloader?
|
## Para usar o KernelSU precisa desbloquear o bootloader?
|
||||||
|
|
||||||
Certamente, sim.
|
Certamente, sim.
|
||||||
|
|
||||||
@@ -16,13 +16,13 @@ Sim, mas está na versão inicial, pode apresentar bugs. Por favor, aguarde até
|
|||||||
|
|
||||||
## KernelSU suporta Xposed?
|
## KernelSU suporta Xposed?
|
||||||
|
|
||||||
Sim, [Dreamland](https://github.com/canyie/Dreamland) e [TaiChi](https://taichi.cool) funcionam agora. Para o LSPosed, você pode fazer funcionar usando [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext).
|
Sim, [Dreamland](https://github.com/canyie/Dreamland) e [TaiChi](https://taichi.cool) funcionam agora. Para o LSPosed, você pode fazê-lo funcionar usando [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext).
|
||||||
|
|
||||||
## KernelSU suporta Zygisk?
|
## KernelSU suporta Zygisk?
|
||||||
|
|
||||||
KernelSU não tem suporte integrado ao Zygisk, mas você pode usar [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext).
|
KernelSU não tem suporte integrado ao Zygisk, mas você pode usar [ZygiskNext](https://github.com/Dr-TSNG/ZygiskNext).
|
||||||
|
|
||||||
## KernelSU é compatível com Magisk?
|
## KernelSU é compatível com o Magisk?
|
||||||
|
|
||||||
O sistema de módulos do KernelSU está em conflito com a montagem mágica do Magisk, se houver algum módulo habilitado no KernelSU, então todo o Magisk não funcionaria.
|
O sistema de módulos do KernelSU está em conflito com a montagem mágica do Magisk, se houver algum módulo habilitado no KernelSU, então todo o Magisk não funcionaria.
|
||||||
|
|
||||||
@@ -32,26 +32,26 @@ Mas se você usar apenas o `su` do KernelSU, então funcionará bem com o Magisk
|
|||||||
|
|
||||||
Achamos que não e esse não é o nosso objetivo. O Magisk é bom o suficiente para solução root do espaço do usuário e terá uma longa vida. O objetivo do KernelSU é fornecer uma interface de kernel aos usuários, não substituindo o Magisk.
|
Achamos que não e esse não é o nosso objetivo. O Magisk é bom o suficiente para solução root do espaço do usuário e terá uma longa vida. O objetivo do KernelSU é fornecer uma interface de kernel aos usuários, não substituindo o Magisk.
|
||||||
|
|
||||||
## KernelSU pode oferecer suporte a dispositivos não GKI?
|
## KernelSU oferece suporte a dispositivos não GKI?
|
||||||
|
|
||||||
É possível. Mas você deve baixar o código-fonte do kernel e integrar o KernelSU à árvore do código-fonte e compilar o kernel você mesmo.
|
É possível. Mas você deve baixar o código-fonte do kernel e integrar o KernelSU à árvore do código-fonte e compilar o kernel você mesmo.
|
||||||
|
|
||||||
## KernelSU pode oferecer suporte a dispositivos abaixo do Android 12?
|
## KernelSU oferece suporte a dispositivos abaixo do Android 12?
|
||||||
|
|
||||||
É o kernel do dispositivo que afeta a compatibilidade do KernelSU e não tem nada a ver com a versão do Android. A única restrição é que os dispositivos lançados com Android 12 devem ser kernel 5.10+ (dispositivos GKI). Então:
|
É o kernel do dispositivo que afeta a compatibilidade do KernelSU e não tem nada a ver com a versão do Android. A única restrição é que os dispositivos lançados com Android 12 devem ser kernel 5.10+ (dispositivos GKI). Então:
|
||||||
|
|
||||||
1. Os dispositivos lançados com Android 12 devem ser compatíveis.
|
1. Os dispositivos lançados com Android 12 devem ser compatíveis.
|
||||||
2. Dispositivos com kernel antigo (alguns dispositivos Android 12 também têm o kernel antigo) são compatíveis (você mesmo deve construir o kernel).
|
2. Dispositivos com kernel antigo (alguns dispositivos Android 12 também têm o kernel antigo) são compatíveis (você mesmo deve construir o kernel).
|
||||||
|
|
||||||
## KernelSU pode suportar kernel antigo?
|
## KernelSU suporta kernel antigo?
|
||||||
|
|
||||||
É possível, o KernelSU é portado para o kernel 4.14 agora, para o kernel mais antigo, você precisa fazer o backport manualmente e PRs são bem-vindos!
|
É possível, o KernelSU é portado para o kernel 4.14 agora, para o kernel mais antigo, você precisa fazer o backport manualmente e PRs são sempre bem-vindas!
|
||||||
|
|
||||||
## Como integrar o KernelSU para o kernel antigo?
|
## Como integrar o KernelSU para o kernel antigo?
|
||||||
|
|
||||||
Por favor, consulte a guia [Como integrar o KernelSU para kernels não GKI](how-to-integrate-for-non-gki)
|
Por favor, consulte a guia [Como integrar o KernelSU para kernels não GKI](how-to-integrate-for-non-gki).
|
||||||
|
|
||||||
## Por que minha versão do Android é 13 e o kernel mostra “android12-5.10”?
|
## Por que a minha versão do Android é 13 e o kernel mostra “android12-5.10”?
|
||||||
|
|
||||||
A versão do Kernel não tem nada a ver com a versão do Android, se você precisar fazer o flash do kernel, use sempre a versão do kernel, a versão do Android não é tão importante.
|
A versão do Kernel não tem nada a ver com a versão do Android, se você precisar fazer o flash do kernel, use sempre a versão do kernel, a versão do Android não é tão importante.
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ A versão do Kernel não tem nada a ver com a versão do Android, se você preci
|
|||||||
Não existe agora (talvez no futuro), mas há muitas maneiras de mudar manualmente para o namespace de montagem global, como:
|
Não existe agora (talvez no futuro), mas há muitas maneiras de mudar manualmente para o namespace de montagem global, como:
|
||||||
|
|
||||||
1. `nsenter -t 1 -m sh` para obter um shell no namespace de montagem global.
|
1. `nsenter -t 1 -m sh` para obter um shell no namespace de montagem global.
|
||||||
2. Adicione `nsenter --mount=/proc/1/ns/mnt` ao comando que você deseja executar, o comando será executado no namespace de montagem global. O KernelSU também está [usando desta forma](https://github.com/tiann/KernelSU/blob/77056a710073d7a5f7ee38f9e77c9fd0b3256576/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt#L115)
|
2. Adicione `nsenter --mount=/proc/1/ns/mnt` ao comando que você deseja executar, o comando será executado no namespace de montagem global. O KernelSU também está [usando desta forma](https://github.com/tiann/KernelSU/blob/77056a710073d7a5f7ee38f9e77c9fd0b3256576/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt#L115).
|
||||||
|
|
||||||
## Eu sou GKI1.0, posso usar isso?
|
## Eu sou GKI1.0, posso usar isso?
|
||||||
|
|
||||||
|
|||||||
@@ -104,8 +104,8 @@ index 05036d819197..965b84d486b8 100644
|
|||||||
+extern int ksu_handle_faccessat(int *dfd, const char __user **filename_user, int *mode,
|
+extern int ksu_handle_faccessat(int *dfd, const char __user **filename_user, int *mode,
|
||||||
+ int *flags);
|
+ int *flags);
|
||||||
/*
|
/*
|
||||||
* access() needs to use the real uid/gid, not the effective uid/gid.
|
* access() precisa usar o uid/gid real, não o uid/gid efetivo.
|
||||||
* We do this by temporarily clearing all FS-related capabilities and
|
* Fazemos isso limpando temporariamente todos os recursos relacionados ao FS e
|
||||||
@@ -355,6 +357,7 @@ SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)
|
@@ -355,6 +357,7 @@ SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)
|
||||||
*/
|
*/
|
||||||
long do_faccessat(int dfd, const char __user *filename, int mode)
|
long do_faccessat(int dfd, const char __user *filename, int mode)
|
||||||
@@ -158,8 +158,8 @@ index 376543199b5a..82adcef03ecc 100644
|
|||||||
+extern int ksu_handle_stat(int *dfd, const char __user **filename_user, int *flags);
|
+extern int ksu_handle_stat(int *dfd, const char __user **filename_user, int *flags);
|
||||||
+
|
+
|
||||||
/**
|
/**
|
||||||
* vfs_statx - Get basic and extra attributes by filename
|
* vfs_statx - Obtenha atributos básicos e extras por filename
|
||||||
* @dfd: A file descriptor representing the base dir for a relative filename
|
* @dfd: Um descritor de arquivo que representa o diretório base para um filename relativo
|
||||||
@@ -170,6 +172,7 @@ int vfs_statx(int dfd, const char __user *filename, int flags,
|
@@ -170,6 +172,7 @@ int vfs_statx(int dfd, const char __user *filename, int flags,
|
||||||
int error = -EINVAL;
|
int error = -EINVAL;
|
||||||
unsigned int lookup_flags = LOOKUP_FOLLOW | LOOKUP_AUTOMOUNT;
|
unsigned int lookup_flags = LOOKUP_FOLLOW | LOOKUP_AUTOMOUNT;
|
||||||
@@ -219,8 +219,8 @@ index 2ff887661237..e758d7db7663 100644
|
|||||||
+ int *flags);
|
+ int *flags);
|
||||||
+
|
+
|
||||||
/*
|
/*
|
||||||
* access() needs to use the real uid/gid, not the effective uid/gid.
|
* access() precisa usar o uid/gid real, não o uid/gid efetivo.
|
||||||
* We do this by temporarily clearing all FS-related capabilities and
|
* Fazemos isso limpando temporariamente todos os recursos relacionados ao FS e
|
||||||
@@ -370,6 +373,8 @@ SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
|
@@ -370,6 +373,8 @@ SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
|
||||||
int res;
|
int res;
|
||||||
unsigned int lookup_flags = LOOKUP_FOLLOW;
|
unsigned int lookup_flags = LOOKUP_FOLLOW;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## Verifique se o seu dispositivo é compatível
|
## Verifique se o seu dispositivo é compatível
|
||||||
|
|
||||||
Baixe o app gerenciador KernelSU em [GitHub Releases](https://github.com/tiann/KernelSU/releases) ou [Coolapk market](https://www.coolapk.com/apk/me.weishu.kernelsu), e instale-o no seu dispositivo:
|
Baixe o app gerenciador do KernelSU em [GitHub Releases](https://github.com/tiann/KernelSU/releases) ou [Coolapk market](https://www.coolapk.com/apk/me.weishu.kernelsu), e instale-o no seu dispositivo:
|
||||||
|
|
||||||
- Se o app mostrar `Sem suporte`, significa que **você deve compilar o kernel sozinho**, o KernelSU não fornecerá e nunca fornecerá uma boot image para você instalar.
|
- Se o app mostrar `Sem suporte`, significa que **você deve compilar o kernel sozinho**, o KernelSU não fornecerá e nunca fornecerá uma boot image para você instalar.
|
||||||
- Se o app mostrar `Não instalado`, então seu dispositivo é oficialmente suportado pelo KernelSU.
|
- Se o app mostrar `Não instalado`, então seu dispositivo é oficialmente suportado pelo KernelSU.
|
||||||
@@ -13,7 +13,7 @@ Para dispositivos mostrando `Sem suporte`, aqui está os [Dispositivos com supor
|
|||||||
|
|
||||||
## Backup padrão do boot.img
|
## Backup padrão do boot.img
|
||||||
|
|
||||||
Antes de fleshar, você deve primeiro fazer backup do seu boot.img padrão. Se você encontrar algum bootloop, você sempre pode restaurar o sistema voltando para o boot de fábrica usando o fastboot.
|
Antes de fazer o flash, você deve primeiro fazer backup de seu boot.img padrão. Se você encontrar algum bootloop, você sempre pode restaurar o sistema voltando para o boot de fábrica usando o fastboot.
|
||||||
|
|
||||||
::: warning AVISO
|
::: warning AVISO
|
||||||
Fleshar pode causar perda de dados, certifique-se de executar esta etapa bem antes de prosseguir para a próxima! Você também pode fazer backup de todos os dados do seu telefone, se necessário.
|
Fleshar pode causar perda de dados, certifique-se de executar esta etapa bem antes de prosseguir para a próxima! Você também pode fazer backup de todos os dados do seu telefone, se necessário.
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ Cada script shell executado no contexto do KernelSU será executado no shell `as
|
|||||||
|
|
||||||
Para aqueles que desejam usar o recurso “Modo Autônomo” fora do KernelSU, existem 2 maneiras de ativá-los:
|
Para aqueles que desejam usar o recurso “Modo Autônomo” fora do KernelSU, existem 2 maneiras de ativá-los:
|
||||||
|
|
||||||
1. Defina a variável de ambiente `ASH_STANDALONE` como `1`<br>Exemplo: `ASH_STANDALONE=1 /data/adb/ksu/bin/busybox sh <script>`
|
1. Defina a variável de ambiente `ASH_STANDALONE` como `1`.<br>Exemplo: `ASH_STANDALONE=1 /data/adb/ksu/bin/busybox sh <script>`
|
||||||
2. Alternar com opções de linha de comando:<br>`/data/adb/ksu/bin/busybox sh -o standalone <script>`
|
2. Alternar com opções de linha de comando:<br>`/data/adb/ksu/bin/busybox sh -o standalone <script>`
|
||||||
|
|
||||||
Para garantir que todos os shells `sh` subsequentes executados também sejam executados no Modo Autônomo, a opção 1 é o método preferido (e é isso que o KernelSU e o gerenciador KernelSU usam internamente), pois as variáveis de ambiente são herdadas para os subprocesso.
|
Para garantir que todos os shells `sh` subsequentes executados também sejam executados no Modo Autônomo, a opção 1 é o método preferido (e é isso que o KernelSU e o gerenciador do KernelSU usam internamente), pois as variáveis de ambiente são herdadas para os subprocesso.
|
||||||
|
|
||||||
::: tip DIFERENÇA COM MAGISK
|
::: tip DIFERENÇA COM MAGISK
|
||||||
|
|
||||||
@@ -33,24 +33,24 @@ Um módulo KernelSU é uma pasta colocada em `/data/adb/modules` com a estrutura
|
|||||||
|
|
|
|
||||||
├── $MODID <--- A pasta é nomeada com o ID do módulo
|
├── $MODID <--- A pasta é nomeada com o ID do módulo
|
||||||
│ │
|
│ │
|
||||||
│ │ *** Identidade do Módulo ***
|
│ │ *** Identidade do módulo ***
|
||||||
│ │
|
│ │
|
||||||
│ ├── module.prop <--- Este arquivo armazena os metadados do módulo
|
│ ├── module.prop <--- Este arquivo armazena os metadados do módulo
|
||||||
│ │
|
│ │
|
||||||
│ │ *** Conteúdo Principal ***
|
│ │ *** Conteúdo principal ***
|
||||||
│ │
|
│ │
|
||||||
│ ├── system <--- Esta pasta será montada se skip_mount não existir
|
│ ├── system <--- Esta pasta será montada se skip_mount não existir
|
||||||
│ │ ├── ...
|
│ │ ├── ...
|
||||||
│ │ ├── ...
|
│ │ ├── ...
|
||||||
│ │ └── ...
|
│ │ └── ...
|
||||||
│ │
|
│ │
|
||||||
│ │ *** Sinalizadores de Status ***
|
│ │ *** Sinalizadores de status ***
|
||||||
│ │
|
│ │
|
||||||
│ ├── skip_mount <--- Se existir, o KernelSU NÃO montará sua pasta de sistema
|
│ ├── skip_mount <--- Se existir, o KernelSU NÃO montará sua pasta de sistema
|
||||||
│ ├── disable <--- Se existir, o módulo será desabilitado
|
│ ├── disable <--- Se existir, o módulo será desabilitado
|
||||||
│ ├── remove <--- Se existir, o módulo será removido na próxima reinicialização
|
│ ├── remove <--- Se existir, o módulo será removido na próxima reinicialização
|
||||||
│ │
|
│ │
|
||||||
│ │ *** Arquivos Opcionais ***
|
│ │ *** Arquivos opcionais ***
|
||||||
│ │
|
│ │
|
||||||
│ ├── post-fs-data.sh <--- Este script será executado em post-fs-data
|
│ ├── post-fs-data.sh <--- Este script será executado em post-fs-data
|
||||||
│ ├── post-mount.sh <--- Este script será executado em post-mount
|
│ ├── post-mount.sh <--- Este script será executado em post-mount
|
||||||
@@ -60,7 +60,7 @@ Um módulo KernelSU é uma pasta colocada em `/data/adb/modules` com a estrutura
|
|||||||
│ ├── system.prop <--- As propriedades neste arquivo serão carregadas como propriedades do sistema por resetprop
|
│ ├── system.prop <--- As propriedades neste arquivo serão carregadas como propriedades do sistema por resetprop
|
||||||
│ ├── sepolicy.rule <--- Regras adicionais de sepolicy personalizadas
|
│ ├── sepolicy.rule <--- Regras adicionais de sepolicy personalizadas
|
||||||
│ │
|
│ │
|
||||||
│ │ *** Gerado Automaticamente, NÃO CRIE OU MODIFIQUE MANUALMENTE ***
|
│ │ *** Gerado automaticamente, NÃO CRIE OU MODIFIQUE MANUALMENTE ***
|
||||||
│ │
|
│ │
|
||||||
│ ├── vendor <--- Um link simbólico para $MODID/system/vendor
|
│ ├── vendor <--- Um link simbólico para $MODID/system/vendor
|
||||||
│ ├── product <--- Um link simbólico para $MODID/system/product
|
│ ├── product <--- Um link simbólico para $MODID/system/product
|
||||||
@@ -98,7 +98,7 @@ description=<string>
|
|||||||
- `id` deve corresponder a esta expressão regular: `^[a-zA-Z][a-zA-Z0-9._-]+$`<br>
|
- `id` deve corresponder a esta expressão regular: `^[a-zA-Z][a-zA-Z0-9._-]+$`<br>
|
||||||
Exemplo: ✓ `a_module`, ✓ `a.module`, ✓ `module-101`, ✗ `a module`, ✗ `1_module`, ✗ `-a-module`<br>
|
Exemplo: ✓ `a_module`, ✓ `a.module`, ✓ `module-101`, ✗ `a module`, ✗ `1_module`, ✗ `-a-module`<br>
|
||||||
Este é o **identificador exclusivo** do seu módulo. Você não deve alterá-lo depois de publicado.
|
Este é o **identificador exclusivo** do seu módulo. Você não deve alterá-lo depois de publicado.
|
||||||
- `versionCode` deve ser um **inteiro**. Isso é usado para comparar versões
|
- `versionCode` deve ser um **número inteiro**. Isso é usado para comparar versões
|
||||||
- Outros que não foram mencionados acima podem ser qualquer string de **linha única**.
|
- Outros que não foram mencionados acima podem ser qualquer string de **linha única**.
|
||||||
- Certifique-se de usar o tipo de quebra de linha `UNIX (LF)` e não o `Windows (CR+LF)` ou `Macintosh (CR)`.
|
- Certifique-se de usar o tipo de quebra de linha `UNIX (LF)` e não o `Windows (CR+LF)` ou `Macintosh (CR)`.
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ No KernelSU, as seguintes situações podem causar bloqueio de inicialização a
|
|||||||
2. Seu telefone precisa desativar a verificação AVB para inicializar corretamente (geralmente exigindo a limpeza de todos os dados do telefone).
|
2. Seu telefone precisa desativar a verificação AVB para inicializar corretamente (geralmente exigindo a limpeza de todos os dados do telefone).
|
||||||
3. Seu kernel tem alguns bugs ou não é adequado para o flash do seu telefone.
|
3. Seu kernel tem alguns bugs ou não é adequado para o flash do seu telefone.
|
||||||
|
|
||||||
Não importa qual seja a situação, você pode recuperar **fleshando a imagem de boot padrão**. Portanto, no início do tutorial de instalação, recomendamos fortemente que você faça backup de seu boot padrão antes de fleshar. Se você não fez backup, poderá obter o boot original de fábrica de outros usuários com o mesmo dispositivo que você ou do firmware oficial.
|
Não importa qual seja a situação, você pode recuperar **fleshando a imagem de boot padrão**. Portanto, no início do tutorial de instalação, recomendamos fortemente que você faça backup de seu boot padrão antes de fazer o flash. Se você não fez backup, poderá obter o boot original de fábrica de outros usuários com o mesmo dispositivo que você ou do firmware oficial.
|
||||||
|
|
||||||
## Bloqueio por módulos
|
## Bloqueio por módulos
|
||||||
|
|
||||||
@@ -38,7 +38,7 @@ Existem duas maneiras de entrar no Modo de Segurança:
|
|||||||
1. O Modo de Segurança integrado de alguns sistemas. Alguns sistemas possuem um Modo de Segurança integrado que pode ser acessado pressionando longamente o botão de diminuir volume, enquanto outros (como a MIUI) podem ativar o Modo de Segurança no Recovery. Ao entrar no Modo de Segurança do sistema, o KernelSU também entrará no Modo de Segurança e desativará automaticamente os módulos.
|
1. O Modo de Segurança integrado de alguns sistemas. Alguns sistemas possuem um Modo de Segurança integrado que pode ser acessado pressionando longamente o botão de diminuir volume, enquanto outros (como a MIUI) podem ativar o Modo de Segurança no Recovery. Ao entrar no Modo de Segurança do sistema, o KernelSU também entrará no Modo de Segurança e desativará automaticamente os módulos.
|
||||||
2. O Modo de Segurança integrado do KernelSU. O método de operação é **pressionar a tecla de diminuir volume continuamente por mais de três vezes** após a primeira tela de inicialização.
|
2. O Modo de Segurança integrado do KernelSU. O método de operação é **pressionar a tecla de diminuir volume continuamente por mais de três vezes** após a primeira tela de inicialização.
|
||||||
|
|
||||||
Após entrar no Modo de Segurança, todos os módulos na página de módulos do gerenciador KernelSU são desabilitados, mas você pode executar operações de "desinstalação" para desinstalar quaisquer módulos que possam estar causando problemas.
|
Após entrar no Modo de Segurança, todos os módulos na página de módulos do gerenciador do KernelSU são desabilitados, mas você pode executar as operações de "desinstalação" para desinstalar quaisquer módulos que possam estar causando problemas.
|
||||||
|
|
||||||
O Modo de Segurança integrado é implementado no kernel, portanto não há possibilidade de perder eventos importantes devido à interceptação. No entanto, para kernels não GKI, a integração manual do código pode ser necessária e você pode consultar a documentação oficial para obter orientação.
|
O Modo de Segurança integrado é implementado no kernel, portanto não há possibilidade de perder eventos importantes devido à interceptação. No entanto, para kernels não GKI, a integração manual do código pode ser necessária e você pode consultar a documentação oficial para obter orientação.
|
||||||
|
|
||||||
|
|||||||
@@ -8,13 +8,13 @@ A principal característica do KernelSU é que ele é **baseado em kernel**. O K
|
|||||||
|
|
||||||
E também, o KernelSU fornece um sistema de módulos via overlayfs, que permite carregar seu plugin personalizado no sistema. Ele também fornece um mecanismo para modificar arquivos na partição `/system`.
|
E também, o KernelSU fornece um sistema de módulos via overlayfs, que permite carregar seu plugin personalizado no sistema. Ele também fornece um mecanismo para modificar arquivos na partição `/system`.
|
||||||
|
|
||||||
## Como usar
|
## Como usar o KernelSU?
|
||||||
|
|
||||||
Por favor, consulte: [Instalação](installation)
|
Por favor, consulte: [Instalação](installation)
|
||||||
|
|
||||||
## Como construir
|
## Como construir o KernelSU?
|
||||||
|
|
||||||
[Como construir o KernelSU?](how-to-build)
|
Por favor, consulte: [Como construir?](how-to-build)
|
||||||
|
|
||||||
## Discussão
|
## Discussão
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user