website/docs/pt_BR/guide/module-config.md
O KernelSU fornece um sistema de configuração integrado que permite que os módulos armazenem configurações de chave-valor persistentes ou temporárias. As configurações são armazenadas em formato binário em /data/adb/ksu/module_configs/<module_id>/ com as seguintes características:
persist.config): Sobrevive às reinicializações até ser explicitamente excluída ou o módulo ser desinstaladotmp.config): Automaticamente limpa durante o estágio post-fs-data em cada inicializaçãoAo ler configurações, os valores temporários têm prioridade sobre os valores persistentes para a mesma chave.
Todos os scripts de módulo (post-fs-data.sh, service.sh, boot-completed.sh, etc.) são executados com a variável de ambiente KSU_MODULE definida como o ID do módulo. Você pode usar os comandos ksud module config para gerenciar a configuração do seu módulo:
# Obter um valor de configuração
value=$(ksud module config get my_setting)
# Definir um valor de configuração persistente
ksud module config set my_setting "some value"
# Definir um valor de configuração temporário (limpo após a reinicialização)
ksud module config set --temp runtime_state "active"
# Definir valor a partir de stdin (útil para texto multilinhas ou dados complexos)
ksud module config set my_key <<EOF
texto multilinhas
valor
EOF
# Ou transmitir de um comando
echo "value" | ksud module config set my_key
# Sinalizador stdin explícito
cat file.json | ksud module config set json_data --stdin
# Listar todas as entradas de configuração (mesclando persistentes e temporárias)
ksud module config list
# Excluir uma entrada de configuração
ksud module config delete my_setting
# Excluir uma entrada de configuração temporária
ksud module config delete --temp runtime_state
# Limpar todas as configurações persistentes
ksud module config clear
# Limpar todas as configurações temporárias
ksud module config clear --temp
O sistema de configuração impõe os seguintes limites:
^[a-zA-Z][a-zA-Z0-9._-]+$ (como ID do módulo)
0x4b53554d ("KSUM") e validação de versãoO sistema de configuração é ideal para:
::: tip MELHORES PRÁTICAS
ksud module config list para depurar problemas de configuração
:::O sistema de configuração de módulos fornece chaves de configuração especiais para casos de uso avançados:
Você pode substituir dinamicamente o campo description do module.prop definindo a chave de configuração override.description:
# Substituir a descrição do módulo
ksud module config set override.description "Descrição personalizada exibida no gerenciador"
Ao recuperar a lista de módulos, se a configuração override.description existir, ela substituirá a descrição original do module.prop. Isso é útil para:
Os módulos podem declarar quais recursos do KernelSU eles gerenciam usando o padrão de configuração manage.<feature>. Os recursos suportados correspondem ao enum interno FeatureId do KernelSU:
Recursos Suportados:
su_compat - Modo de compatibilidade SUkernel_umount - Desmontagem automática do kernel# Declarar que este módulo gerencia a compatibilidade SU e a habilita
ksud module config set manage.su_compat true
# Declarar que este módulo gerencia a desmontagem do kernel e a desabilita
ksud module config set manage.kernel_umount false
# Remover gerenciamento de recurso (o módulo não controla mais este recurso)
ksud module config delete manage.su_compat
Como funciona:
manage.<feature> indica que o módulo está gerenciando esse recursotrue/1 para habilitado, false/0 (ou qualquer outro valor) para desabilitadoOs recursos gerenciados são expostos através da API de lista de módulos como um campo managedFeatures (string separada por vírgulas). Isso permite:
::: warning APENAS RECURSOS SUPORTADOS
Use apenas os nomes de recursos predefinidos listados acima (su_compat, kernel_umount). Eles correspondem aos recursos internos reais do KernelSU. Usar outros nomes de recursos não causará erros, mas não terá nenhum propósito funcional.
:::