O Android é baseado no Linux, mas o que significa isso?

  • Chris Hoffman

    @chrisbhoffman

  • >

  • Updated 12 de julho de 2017, 22:20pm EDT

android-linux

Android pode ser baseado no Linux, mas não é baseado no tipo de sistema Linux que você pode ter usado no seu PC. Você não pode executar aplicativos Android em distribuições Linux típicas e você não pode executar os programas Linux que você está familiarizado no Android.

Linux compõe a parte central do Android, mas o Google não adicionou todos os softwares e bibliotecas típicas que você encontraria em uma distribuição Linux como o Ubuntu. Isto faz toda a diferença.

“Linux” vs. O Kernel Linux

RELACIONADO: “Linux” não é só Linux: 8 Peças de Software que Compõem Sistemas Linux

A grande diferença aqui é o que queremos dizer com Linux. As pessoas usam o termo “Linux” para significar muitas coisas diferentes. No seu mais básico, Linux significa o kernel do Linux. Um kernel é a parte central de qualquer sistema operacional.

Publicidade

Também nos referimos às distribuições Linux como simplesmente “Linux”. No entanto, as distribuições Linux não são apenas o kernel Linux. Elas contêm muitas outras peças de software, tais como os utilitários shell GNU, servidor gráfico Xorg, desktop GNOME, navegador web Firefox, e assim por diante. É por isso que algumas pessoas pensam que o termo GNU/Linux deve ser usado para “distribuições Linux” como Ubuntu, Mint, Debian, Fedora, Arch, openSUSE, e outros.

Android usa o kernel Linux sob o capô. Como o Linux é de código aberto, os desenvolvedores do Google Android poderiam modificar o kernel do Linux para atender às suas necessidades. Linux dá aos desenvolvedores do Android um kernel pré-construído, já mantido no sistema operacional para que eles não tenham que escrever seu próprio kernel. Esta é a forma como muitos dispositivos diferentes são construídos – por exemplo, o PlayStation 4 utiliza o kernel FreeBSD de código aberto, enquanto o Xbox One utiliza o kernel do Windows NT encontrado nas versões modernas do Windows.

Vai até ver a versão do kernel Linux a correr no seu dispositivo em About phone ou About tablet nas Definições do Android.

linux-kernel-version-on-android-about-screen

The Differences

RELATED: O que é um Distro Linux, e como eles são diferentes uns dos outros?

Há algum debate sobre se o Android se qualifica como uma “distribuição Linux”. Ele usa o kernel Linux e outro software, mas não inclui muito do software que as distribuições Linux normalmente incluem.

Publicidade

Quando você inicia um dispositivo Android, o kernel Linux carrega exatamente como o faria em uma distribuição Linux. No entanto, muito do outro software é diferente. O Android não inclui a Biblioteca C GNU (glibc) usada em distribuições Linux padrão, nem inclui todas as bibliotecas GNU que você encontraria em uma distribuição Linux típica. Ele também não inclui um servidor X como o Xorg, então você não pode executar aplicativos Linux gráficos padrão.

Rather do que executar aplicativos Linux típicos, o Android usa a máquina virtual Dalvik para executar essencialmente aplicativos escritos em Java. Esses aplicativos são direcionados aos dispositivos Android e as interfaces de programação de aplicativos (APIs) que o Android fornece em vez de ser direcionado ao Linux em geral.

android-architecture

Porque você não pode executar software desktop Linux no Android

RELATADO: O que é Unix, e porque é que isso importa?

Porque o Android não inclui um servidor X gráfico ou todas as bibliotecas GNU padrão, você não pode simplesmente executar aplicações Linux no Android. Você tem que executar aplicativos escritos especificamente para Android.

Android tem um shell como o que você vai encontrar no Linux. Não há maneira de acessá-lo fora da caixa, mas você pode instalar um aplicativo como Android Terminal Emulator para ter acesso a este ambiente de terminal.

Anúncio

Por padrão, não há muito que você pode fazer aqui. O terminal ainda será executado em um ambiente restrito, então você não pode ganhar uma shell raiz completa sem enraizar o seu dispositivo Android. Muitos comandos padrão que você pode precisar não estão disponíveis – é por isso que as pessoas que fazem o root do seu dispositivo geralmente instalam o aplicativo BusyBox, que instala muitos utilitários de linha de comando. Estes utilitários são usados por aplicativos para fazer coisas com seu acesso root.

android-terminal-emulator-uname

Por que você não pode rodar o software Android no Desktop Linux

RELACIONADO: Como jogar jogos Android (e executar aplicativos Android) no Windows

Linux não inclui a máquina virtual Dalvik, por isso não pode executar aplicativos Android. A máquina virtual Dalvik e todos os outros softwares do Android não podem simplesmente ser jogados em uma máquina desktop Linux – você teria que fazer mais trabalho para fazer os aplicativos Android saírem para uma janela em um desktop padrão através do Xorg, por exemplo. Teoricamente, com trabalho suficiente, os desenvolvedores poderiam fazer o Dalvik rodar no desktop Linux para que os usuários do desktop Linux pudessem rodar aplicativos Android em seus desktops. O agora dormente produto Ubuntu para Android tentou fazer algo assim, integrando Ubuntu e Android em um telefone e permitindo que esses aplicativos Android para executar no desktop do Ubuntu.

BlueStacks e outros emuladores de aplicativos Android tentam fazer isso para Windows e Mac. Eles executam o Android em hardware virtual em uma máquina virtual, permitindo que eles executem aplicativos Android – com uma penalidade de desempenho – no seu desktop. Estas soluções não provaram ser muito populares, embora.

apk-on-desktop-linux

Google’s Chrome OS também é baseado em Linux. Tal como o Android, o SO Chrome não fornece um sistema X window padrão, pelo que as aplicações Linux padrão não podem correr no SO Chrome. Ao contrário do Android, o Chrome OS está mais próximo das distribuições padrão de desktop Linux, então você pode usar o modo desenvolvedor para instalar o software de desktop Linux que falta.

Anúncio

Image Credit: ranti no Flickr, Anatomia e Fisiologia do Android

Chris Hoffman
Chris Hoffman é editor-chefe do How-To Geek. Ele escreveu sobre tecnologia por mais de uma década e foi colunista da PCWorld por dois anos. Chris escreveu para o The New York Times, foi entrevistado como um especialista em tecnologia em estações de TV como a NBC 6 de Miami, e teve seu trabalho coberto por veículos de notícias como a BBC. Desde 2011, Chris já escreveu mais de 2.000 artigos que já foram lidos quase um bilhão de vezes – e isso é só aqui no How-To Geek.Read Full Bio ”

Leave a Reply

Deixe uma resposta

O seu endereço de email não será publicado.