[Jogos][Slideshow]

O que é Toolbox / Busybox (e agora Toybox)

Hoje venho falar de Toolbox e Busybox, para responder uma das maiores dúvidas dos usuários de Android.

Descrição:
Vamos do início. Quando você compila seu kernel e seu sistema operacional, você não tem basicamente nada além do seu "kit de ferramentas" (Toolbox), assim como quando você começa a programar algo. Primeiro você terá binários. Esses binários possibilitam que você utilize comandos. Muitos desses comandos são solicitados pelo terminal. Comandos como chmod ou ls partem desses binários.

Toolbox
Se você pegar um gerenciador de arquivos e ir no diretório /system/bin, você verá diversos arquivos binários, eles são responsáveis por basicamente tudo que acontece no sistema. Para mostrar na prática, vou executar um arquivo que está na pasta bin com o terminal.


Arquivo bootanimation

 
 Vídeo da execução

O que aconteceu acima? Basicamente o que o sistema faz para ligar. Ele executa o arquivo bootanimation enquanto carrega as outras propriedades do sistema. Você pode tentar esse procedimento com qualquer outro binário que está no diretório. Cada um terá uma função importante na execução do sistema.

O mesmo acontece com superusuário. Você tem o app (geralmente o SuperSU) e o binário. Se você executar um app que usa o root, ele vai pedir para executar o binário do superuser (/system/xbin/su), para assim, ter 'capacidade' de editar o seu sistema. assim como qualquer file explorer utiliza o comando LS para listar os diretórios e o Google Play Games para Lollipop usa o screenrecord (/system/bin/screenrecord) para fazer as capturas de tela.

Importante:

*Os arquivos dentro da pasta bin não tem um nome único, segue a lista: Binários, aplicações, ferramentas, comandos, executáveis, etc, etc, etc.

*Uma parte dos binários que aparecem no diretório /system/bin na verdade nem estão lá ou fazem parte de um único arquivo, aparecem lá pois estão ligados por um link simbólico. Tema esse que eu pretendo explicar de forma mais completa em outro post.

Busybox
O Busybox (/system/xbin) também é um conjunto de ferramentas, bastante similar ao Toolbox. As metas do busybox, enquanto software, são:

1. Prover ferramentas disponíveis no Unix e POSIX em qualquer ambiente
2. Prover ferramentas básicas, porém completas em um único arquivo
3. Prover mais ferramentas intermediárias e avançadas (no caso, um Linux capado, que não tem muitas ferramentas na Toolbox).

O Busybox raramente é adicionado nativamente em um sistema baseado em Android, boa parte das suas funções são melhor aproveitadas por apps que necessitam de root. Obviamente ele é utilizado pois tem mais ferramentas que o Toolbox padrão.

Alguns apps que precisam de algumas das ferramentas do Busybox para funcionar perfeitamente: Titanium backup, Rom Toolbox, WPS WPA TESTER, e muitos outros. Todo super usuário de Android sabe que a ToolBox nativa do Android é extremamente limitada, o que praticamente obrigava os super usuários a instalarem o Busybox.

A versão original do Busybox foi criada por Bruce Perens e a versão Android foi criada por Stephen (Stericson).

Importante:
*Você não verá apps nativos do sistema necessitando de busybox, já que para instalar o busybox é necessário ter root ou bootloader desbloqueado

*Alguns apps rodam em modo compatibilidade para não precisar usar o Busybox

*Em grande parte dos casos, o processo de root adiciona a base do Busybox no sistema.


Toybox
O Toybox foi criado por Rob Landley, ex-programador do Busybox original, que iniciou o projeto por conta de desentendimentos com Bruce Perens, como conta o mesmo em um artigo da lwn.net.

Nesse post, Rob cita alguns dos problemas que teve com Bruce, e no final, anuncia um novo kit de ferramentas chamado "toybox", feito como uma alternativa ao Busybox. Com a pretensão de ser mais robusto, funcional, com uma licença de software 'amigável'.

Do Android Mashmallow 6.0 em diante, o Toybox se tornou o kit de ferramentas padrão do Android, substituindo o Toolbox.




Nenhum comentário:

Todos os comentários são monitorados. Comentários ofensivos serão removidos e os respectivos usuários banidos.