Root My Galaxy 0.3.41
SHA-256: 203ff97774bd8cedd30656705bcfabc28e97c436b4d66f9b068b935debb620bd
Changes since v0.3.40.
What's changed
- #33 Fix Auto Root scheduling and eliminate app history ANRs
Full changelog
Detailed pull-request notes for all changes included in this release.
#33 — Fix Auto Root scheduling and eliminate app history ANRs
Problema observado
O app apresentava ANR e lentidão severa ao abrir a tela principal, Histórico e detalhes de execuções. O log do sistema mostrou a MainActivity sem responder por 10 s, com o processo do app em ~107% de CPU e a thread principal em ~86% no instante do ANR. A investigação identificou carregamento/parsing repetido de históricos e logs do External Observer, além de recomposição/renderização excessiva de logs longos.
Separadamente, o Auto Root podia atrasar o spawn do helper até o gate de uptime e ainda consultar Shizuku durante o boot, introduzindo dependências e scheduling noise desnecessários.
Mudanças
Responsividade / histórico
- remove leitura de histórico do caminho de inicialização da
MainActivity; - carrega o Histórico somente quando a aba é realmente aberta;
- cancela carregamento pendente ao sair da aba ou iniciar exploit;
- mantém recuperação de runs interrompidos em IO antes de um novo install;
- adiciona schema de histórico e fast-path para não reexecutar a normalização pesada do External Observer em registros já normalizados;
- preserva compatibilidade com históricos antigos que ainda precisam de normalização;
- evita reler/decodificar todo o histórico a cada
save()apenas para pruning; - mantém todos os logs completos persistidos;
- limita somente a renderização do log ao vivo a um tail de 32 KiB;
- remove animações contínuas/auto-scroll da tela de instalação e as duas transições
AnimatedContentque mantinham grandes árvores de UI simultaneamente.
Auto Root
- torna Auto Root explicitamente standalone-only; Shizuku continua disponível para fluxos manuais;
- não consulta nem depende do estado do Shizuku durante Auto Root;
- garante
usedShizuku=falsejá no primeiro registro persistido do run automático; - para CZG3/External Observer, inicia o helper assim que o FGS está pronto e deixa o gate de uptime selecionado para o payload, preservando a semântica de 120 s sem manter o app esperando para dar spawn;
- solicita exclusão das otimizações de bateria/Doze ao habilitar Auto Root;
- preserva wake lock, foreground service, boot guard, snapshot semantics e fail-closed.
O que não mudou
Não altera payload, P0/FOPS, offsets, timings internos do exploit, número de retries, supervisor, reclaim, keeper, cgroup, KernelSU late-load, snapshot Manual/Auto, fail-closed nem External Observer diagnostics.
Validação
Workflow final 33664029454 passou integralmente:
:app:testDebugUnitTest:app:lintDebug:app:assembleRelease- C/CMake integrado ao build
- invariantes explícitas para standalone Auto Root, payload-side uptime gate, history lazy-load/schema e ausência das animações pesadas removidas
Branch final: fix/autoroot-standalone-scheduling-load.
Other changes
Commits merged directly without an associated pull request: