Navbar

7 de fevereiro de 2016

Análise: Android x86 Marshmallow

[ÚLTIMA ATUALIZAÇÃO: 26/02/2019]

Aviso: Para ver as imagens em resolução maior, clique com o botão direito e abra-a em nova guia (também dá para apertar a rodinha do mouse).
Logotipo do Android x86 (exibido na tela de inicialização das primeiras compilações do RemixOS 2, SO derivado do projeto e apoiado pelo mesmo).

Estou de volta com mais uma análise, e desta vez sobre o famoso projeto derivado do ainda mais famoso sistema operacional desenvolvido sob liderança da gigante Google, o Android, que é tão antigo quanto o original. Estou falando do Android x86.

Histórico

Android x86 0.9 (1.5 Cupcake) - primeira compilação oficial do projeto.
 
Primeiramente, vale ressaltar que o Android, desde muito tempo, oferece suporte aos processadores ARM, x86 e Mips, sendo o primeiro, até hoje, através de várias versões, o mais popular; e o último, a versão menos conhecida. Mas também é verdade que os primeiros smartphones com processador Intel (x86) só começaram a aparecer durante meados de 2011, quando o SO da Google já estava ficando popular, numa estratégia desesperada da empresa em recuperar o tempo perdido (assim como a Microsoft e seu SO Mobile, atualmente, mas isto é um outro assunto), num mercado que já era dominado pela ARM e parceiros (tanto que, numa demonstração de fracasso, a Intel está querendo se retirar do setor, como relata esta notícia). Entretanto, a ideia de desenvolvedores de levar a versão x86 do Android para Netbooks, sob liderança do desenvolvedor taiwanês Chih-Wei Huang, vem de um pouco antes, mais precisamente, em meados de 2009, quando o SO do Robozinho ainda estava ganhando terreno.

Desde então, estes desenvolvedores estão na luta para trazer um sistema funcional (na medida do possível, como poderá ser percebido ao longo deste artigo), compatível com uma variada gama de hardware (assim como o Windows), sendo este Netbook, Notebook ou mesmo tablets. Infelizmente, à medida que a Google lança uma nova versão do Android (como se sabe, de uma forma um tanto apressada, atrapalhando todo um cronograma das fabricantes integrantes à OHA - Open Handset Alliance - impedindo que a versão atual fique estável o bastante e se estabeleça no mercado, causando uma fragmentação cada vez maior do sistema - o que até agora se mostrou ser um problema crônico, que a empresa de Mountain View não está disposta a resolver tão cedo), aumentam os desafios destes desenvolvedores. Um grande exemplo foi a transição da versão 4.4 (KitKat) para a 5.x (Lollipop), onde demoraram para estabilizar o sistema na nova máquina virtual ART (Android Runtime, que substituiu a Dalvik), cuja primeira compilação oficial do projeto, a 5.1.1 Release Candidate 1 (que pode ser baixada clicando aqui) só foi lançada em 6 de Outubro de 2015.

Antecedentes

Dia 27 de Janeiro de 2016 foi lançada a 2ª compilação do Android x86 Marshmallow - a primeira foi divulgada em 02 de Dezembro do ano anterior - mas logo se constatou que a ISO não estava funcional, pelo fato do tamanho do arquivo estar muito menor (a ISO era de cerca de 230 MB, contra 440 da primeira). Então, o arquivo foi removido e, dois dias depois, divulgaram um novo, desta vez com 460 MB. A ideia era fazer a análise somente desta 2ª compilação, mas logo adiante vocês entenderão o motivo disto não ter sido possível. As ISOs já lançadas do Android Marshmallow e versões anteriores podem ser encontradas aqui (elas funcionam tanto em sistemas legados - as conhecidas BIOS baseadas nas versões da época do IBM PC - quanto em sistemas UEFI).

De qualquer forma, segue abaixo as impressões sobre o Android Marshmallow, apresentando suas novidades, seus recursos nativos, e também seus problemas, destinado para quem quer conhecer mais este trabalho do projeto Android x86. Para tal, criei uma máquina virtual no programa da Oracle, o VirtualBox; configurado na opção "Linux 2.6 / 3.x / 4.x (32 Bits)", com 768 MB de RAM (para melhor fluidez, recomendo 1 GB em diante) e 10 GB de HD, expansível dinamicamente.

Instalação

Como já é costume em minhas análises, demonstrarei nesta seção a instalação do Android x86 Marshmallow, que praticamente não difere das outras versões lançadas do projeto.

Após configurar devidamente o SETUP da BIOS ou a firmware UEFI, o Assistente será carregado, como mostra a imagem abaixo.
As três primeiras opções são modos via Live, ou seja, não requerem instalação, sendo a primeira a execução comum; a segunda, a execução usando drive de vídeo genérico (VESA); a terceira opção é para fins de depuração.

Para instalar o sistema no HD, usaremos a quarta opção. Então o assistente carrega o kernel e os arquivos necessários para o prosseguimento do processo.

Esta tela dá a visão geral dos discos no sistema, já com a tabela de partição criada. Para criar as partições propriamente ditas, escolha a opção "Create/Modify partitions", como ilustra a imagem abaixo.

A partir do Android 4.4.4 R3, o assistente dá a opção de utilizar o GPT como particionador. Caso seu sistema seja UEFI ou tenha a opção "Secure Boot" disponível e habilitada, e já esteja familiarizado com suas funções, clique em "Yes". Para esta análise, optei por utilizar o particionador legado, que funciona em qualquer sistema,  em detrimento ao GPT. Para isso, clica-se em "No", como na imagem a seguir.

O particionador mostrado a partir da próxima imagem é o CFDISK, programa básico via texto de particionamento no Linux. Contudo, ele é intuitivo e relativamente fácil de usar.
Primeiramente, será criada a partição SWAP (que serve como memória virtual e auxiliar à RAM). Para tal, direcione até a opção "New".

Pode-se criar tanto partição primária quanto lógica. A diferença é que, escolhendo a primária, dá para criar até 4 partições desta modalidade; já a lógica permite até 255. Aqui foi escolhido "Primary".

Defina para 2048 MB (caso use 1 GB de memória). Neste link, há recomendações para a criação de memória SWAP.

Escolha "Beginning" para criar a partição no início do disco.

Com a partição criada, direcione com as setas laterais até a opção "Type".

Aqui pode-se dar ENTER ou setar para baixo.

Dê ENTER para escolher a opção sugerida (82, que é justamente o que precisamos).

CORREÇÃO: Diferente do que foi sugerido, as compilações do Android x86 NÃO oferecem suporte tanto à partição quanto a arquivos SWAP; portanto, seu uso não tem efeito algum no sistema, não havendo previsões de quando o recurso será adicionado, e deve ser desconsiderado para aplicação. Contudo, as imagens relacionadas e suas respectivas legendas serão mantidas para futuras referências. Quaisquer novidades, o artigo será atualizado.

Agora será criada outra partição. Direcione novamente para "New".

Escolha novamente o tipo de partição.

Aqui foi utilizado a memória restante.

Esta partição recém-criada será formatada mais tarde. No momento, selecione em "Bootable". Em seguida, direcione para "Write".

Ao clicar em "Write", ele faz a seguinte pergunta: "Você tem certeza que quer escrever a tabela de partição para o disco?". Caso esteja tudo certo, digite "yes" (sem as aspas).

As configurações serão salvas.

Após as partições serem escritas, direcione até "Quit" para sair do CFDISK.

Para constar, aqui a partição sda1 é o Swap; e a sda2 ainda está sem formato, a qual definiremos agora. Selecione a sda2 e dê ENTER.

Nas compilações Alpha, utilizei o sistema de arquivos ext3.

Aqui pede para confirmar se deseja prosseguir com a operação, alertando que "todos os dados na partição serão PERDIDOS".

Então o HD é formatado.

Para o Android x86 funcionar, assim como a grande maioria das distribuições GNU/Linux, ele necessita de um gerenciador de inicialização. Caso esteja fazendo dual boot com alguma distro, siga as instruções deste link para configurar o GRUB para poder reconhecer o sistema. Do contrário, prossiga com as imagens a seguir. 
Caso seu sistema seja legado (no caso do VirtualBox, por exemplo), é recomendável instalar o GRUB. Para isso, clique em "Yes". Do contrário, clique em "Skip" para a próxima opção.

Caso seu sistema seja UEFI, instale esta versão do EFI GRUB2, clicando em "Yes". Se o sistema for legado, e já tenha aceitado a opção anterior, NÃO ACEITE ESTA OPÇÃO, pois, do contrário, o sistema não iniciará.

Esta parte é muito importante: clique em "Yes" caso queira instalar a pasta /system (só para constar, onde ficam todos os aplicativos do sistema) em modo leitura-escrita (requer um pouco mais de memória em disco do que instalar em somente leitura, mas nada tão significativo, além de ser o mais recomendado).

E os arquivos serão copiados. Repare que, no caso da compilação mais recente do Android x86 6.0.1, ele consome cerca de 1,25 GB em disco, em modo leitura-escrita.

No caso de se querer formatar em NTFS, pode ser que o Assistente peça para que crie a imagem de disco data.img, que o Android reconhece como partição separada, para o armazenamento de arquivos do usuário (quem já restaurou algum smartphone deve ter percebido que sempre esta e a imagem cache.img são resetadas).

Caso clique em 'No', o Assistente avisa que os dados serão salvos temporariamente e perdidos após o desligamento.

Por outro lado, clicando em 'Yes', o Assistente solicitará que o usuário defina, pelo menos, 512 MB para a imagem data.img.
 
Com isso, a imagem será expandida, como é ilustrado acima.

Em seguida, as últimas operações são realizadas.

E o Assistente é concluído. Recomendo clicar em "Reboot" para reiniciar o sistema e fazer as verificações necessárias. Mas é possível executar o sistema imediatamente após ser instalado, clicando na primeira opção.

Assim, o sistema será reiniciado.

Após o reinício, caso tenha dado tudo certo, o GRUB será carregado, mostrando as opções de inicialização do Android x86. As três últimas opções são para fins de depuração. Para iniciar o sistema, clique na primeira opção.


E o Android x86 é carregado.

Agora vocês entenderão o motivo de não conseguir executar o Android x86 6.0.1 (android-x86-6.0_20160129.iso). Esta versão vem com o kernel Linux 4.4, que, segundo relatos descritos neste site, possui problemas com o Wi-Fi e, principalmente, com o drive de vídeo uvesa. Com o drive quebrado, a tela não é ajustada e o modo gráfico não é inicializado (é perceptível no VirtualBox quando a janela não se expande). A partir daqui, tive que utilizar o modo Live com o drive VESA, que será demonstrado nos próximos tópicos.
Esta é a tela de inicialização do Android x86 Marshmallow. Baseado da versão AOSP, está presente desde o Lollipop (5.x), quando a Google mudou a identidade visual da marca.

A partir daqui começará o assistente de configuração do novo sistema. Por padrão, o idioma está definido como Inglês. Repare que, caso esteja utilizando o sistema no VirtualBox, é preciso desativar a integração automática do mouse, como mostra a imagem acima.

Para alterar a linguagem, clique no idioma atual, e o menu de opções, como mostra a imagem a seguir se abrirá. Desça com a seta correspondente, ou pressionando com o mouse (como se fosse em uma tela touchscreen, caso o dispositivo utilizado não tenha este suporte), ou ainda com a rodinha do dispositivo, até encontrar o "Português (Brasil)".

Após selecionar com ENTER ou clicando no idioma desejado, automaticamente esta será aplicado no sistema. Assim, para prosseguir, clique na seta amarela.

Caso seu dispositivo não tenha suporte à dispositivos SIM, ignore esta tela, clicando no lugar correspondente.

Da mesma forma, caso seu dispositivo não tenha suporte ao Wi-Fi, ignore a tela a seguir. Caso suporte, mas não ative automaticamente, é provável que o Android x86 não reconheça seu dispositivo. No VirtualBox, por sua vez, caso tenha definido a configuração Ethernet, não se preocupe: ele identificará automaticamente.

Provavelmente, por inconvenientes que explicarei mais adiante, no VirtualBox, recomendo desativar a conexão de rede durante o assistente. Caso contrário, o setup ficará em loop, voltando toda hora para a configuração de Wi-Fi.

Como uma conexão com a internet é importante nesta parte da instalação, ele insiste, caso você tenha certeza da escolha. É só clicar em "Ignorar mesmo assim".

Com a internet conectada, ele verificará a conexão, podendo levar alguns instantes.





Pode ser que o assistente peça "só um segundo" para ir para a próxima função.


Ele tentará procurar atualizações de software, mas, certamente, não encontrará - e explicarei, mais tarde, o porquê disso.

Como diz a imagem, carregando...

Normalmente, esta e a imagem anterior levariam à configuração da Conta do Google. Porém, isto não acontecia, retornando para a tela de configuração do Wi-Fi, que expliquei anteriormente. Lembrando que este é um bug exclusivo das compilações do Android Marshmallow até a RC1, que falarei mais adiante. Na 5.1.1 RC 1 e anteriores, por exemplo, esta parte do assistente funciona normalmente.

Caso fosse possível passar pela configuração da Conta do Google, ou, com a internet desligada (como havia recomendado), chegaremos nesta tela acima. Se estiver tudo certo, clique em "Próximo".

Se quiser, dê um nome para se identificar no sistema instalado, e avance.

Aqui ele sugere configurar uma conta de e-mail, algo que pode perfeitamente ser realizado mais tarde.

Esta é a versão modificada das configurações de Localização das versões anteriores, ficando por último nas versões 6.x do Android. Leia atentamente, selecionando as opções que achar melhor.

Desça para aparecer a opção "Próximo" e avance.

Ele tenta concluir o assistente, mas um bug acaba exibindo esta dica (que, diga-se de passagem, é inútil), tendo que definir novamente as configurações anteriores.

Após este inconveniente, finalmente o Assistente é concluído e a Launcher é iniciada. Ignore a dica exibida na tela.

Visão Geral do Sistema

Só para deixar claro, o projeto Android x86 trabalha com o Android Puro com pequenas adequações, geralmente fazendo uso de determinados aplicativos compilados com o sistema, conhecidos como apps AOSP (sigla para Android Open Source Project), em conjunto com alguns Google Apps, como poderá ser percebido adiante.
Este lançador, o Launcher3, é uma variação da Google Now Launcher, sendo bastante semelhante à versão do sistema de Mountain View, mas é menos polida. É utilizada desde as versões 5.x do Android x86 (código AOSP).

Este é o menu do sistema, sendo o design padrão do Android 5.x. Mais adiante, serão detalhados os aplicativos nativos.

Como dá para perceber, a tela de Aplicativos Recentes não exibe a prévia do App aberto, mostrando apenas a barra de título.

Este bug do Android x86 já se arrasta desde versões anteriores (repare na imagem acima, extraída da compilação mais recente da versão KitKat do projeto, onde as miniaturas já não eram exibidas corretamente), e até as compilações Alpha do Marshmallow, isto ainda não tinha sido corrigido.

A barra de notificações praticamente não mudou desde que foi reformulada também na versão Lollipop. Esta é outro bug que se arrastou desde as compilações 5.x até as Alphas do 6.x do projeto, cujo fundo, que deveria ficar esmaecido, é mostrado em cor preta.

Sintonizador System UI

Uma das novidades do Android Marshmallow é o Sintonizador System UI, que permite editar a seção de notificações. Entretanto, como são recursos experimentais, está escondido. Para habilitá-lo, pressione por alguns segundos a engrenagem que está entre o indicador de bateria e a imagem do usuário, na Barra de Status.
Feito isso, a opção será habilitada e aparecerá na seção "Sistema" das Configurações, como mostra a imagem acima.

Agora, vamos falar um pouco mais sobre o Sintonizador System UI.
Logo ao abrir a opção, este aviso é mostrado. Lendo atentamente, caso esteja ciente dos riscos, é só clicar em "Entendi".

Esta é a tela de configuração do Sintonizador System UI do Android Marshmallow. Logo de cara, já explicarei que a terceira opção adiciona um medidor nativo de porcentagem de bateria, que poderá ser visto caso esteja utilizando o sistema em notebooks/netbooks ou tablets. Lembrando que, no VirtualBox, isto não é perceptível.

Clicando em Configurações Rápidas, permite-se reordenar as opções da Barra de Status, podendo já remover as opções que julgar desnecessárias. Para tal, é só pressionar a opção desejada, que a opção "Adicionar bloco" será substituído por "Remover".

Mas também é possível escolher as opções desejadas na segunda opção, Barra de Status.

O Modo de Demonstração permite deixar detalhes do sistema (como bateria, notificações e o horário) como nas imagens oficiais dos Nexus, por exemplo, sendo interessante para tirar screenshots. É um recurso meramente estético.

Caso queira remover a opção, repita a operação de pressionar o ícone da engrenagem, que a tela de confirmação será mostrada.

Configurações

Agora vamos para a seção de Configuração do Android, que, visualmente, mudou pouco em relação ao Lollipop, mas, na verdade, teve várias alterações importantes, que serão explicadas a seguir.
Visão Geral da seção "Configurar" no Android x86 6.0.1 (Particularmente, senti falta da opção 'Ethernet', presente em algumas compilações do Android x86 ICS e anteriores e, mais recentemente, no RemixOS - vale ressaltar que a conexão via cabo funciona sem problemas mesmo com a falta desta opção).

Uma das novidades é a seção de Apps, separando a parte da Memória RAM numa seção a parte (que falarei já já), além de reunificar os apps instalados pelo usuário com alguns do sistema, como era nas versões mais antigas do Android.

Por padrão, importantes apps do sistema ficam escondidos (particularmente achei confuso o que a Google quis fazer). Para exibi-los, clique nos três pontos verticais e selecione "Mostrar sistema".

Curiosidade: há uma seção de Apps inativos nas Opções de Desenvolvedor, indicando que, provavelmente, também foi desmembrada da seção de apps presente nas versões anteriores do Android.

Uma das novidades mais esperadas pelos usuários do Android, que só agora foi implementada, foi um novo e democrático sistema de permissões, dando a autonomia que o usuário do SO do robozinho não tinha até então. 
É possível configurar as permissões de determinado app, clicando sobre ele. Vale ressaltar que esta parte do sistema sofreu algumas modificações em relação às versões anteriores, ficando mais sucinto e minimalista (Além disso, determinados apps compilados para versões anteriores do Android podem não usufruir plenamente deste recurso).

Além disso, para ter acesso a mais configurações, clique na engrenagem ao lado dos três pontos, no canto direito da tela de Apps.
Visão Geral da seção "Configurar Apps".

Em "Permissões do App", pode-se definir quais aplicativos poderão receber determinadas permissões.

Mas também é possível aceitar ou não as solicitações de um determinado aplicativo para o uso de algumas permissões numa determinada ocasião.

Em "Links do app", pode-se configurar os sites que certos aplicativos abrem durante sua execução.

Em "Apps padrão", configura-se alguns tipos de apps, dando ao usuário a escolha de escolher qual app disponível pode abrir por padrão no sistema. Bastante semelhante ao que existe no Microsoft Windows.

Considerando que o Android Marshmallow introduziu um modo mais eficiente de economia de bateria, conhecido como "Doze", ainda na seção Avançadas, tem a opção "Otimização de bateria", útil para notebooks, onde dá para monitorar e configurar quais apps estão sendo otimizados.

Há também a opção "Sobrepor a outros apps", que dá autonomia a alguns apps de executar em primeiro plano. E ainda dá para configurar o comportamento dos apps sobre o sistema, na opção "Modificar config. do sistema".

Voltando à seção principal, também foi adicionada a opção "Apps compatibiliy", que não é nativo do Android e, por isso, permanece em inglês, mesmo com o idioma definido em PT-BR. Particularmente, não é uma opção tão indispensável como seria no passado, quando ainda havia poucos apps compilados para a plataforma x86 / x86_64.
Esta opção, exclusiva do projeto Android x86 (estando presente também no RemixOS), que existe desde o Lollipop, adiciona o suporte à aplicativos ARM para a arquitetura do sistema.

Outra seção que sofreu mudanças significativas foi o "Armazenamento e USB", que praticamente nunca havia mudado até então. De cara, como se pode perceber na imagem a seguir, foi melhorado o reconhecimento de dispositivos externos, como cartões de memória e pen drives, ficando mais preciso e com um melhor suporte, como explicarei daqui a pouco.
Visão Geral da tela "Armazenamento e USB", com mais de um dispositivo.

Aqui já é a visão geral do armazenamento interno, que, basicamente, funciona da mesma maneira que nas versões anteriores do Android.

Agora, quando é inserido algum dispositivo removível, é exibido, na barrada de notificações, uma notificação de opções, semelhante à Reprodução Automática do Windows.

Além disso, depois de algum tempo, agora é permitido utilizar o dispositivo externo como memória do sistema, de forma nativa. Para isso, é necessário um sistema de arquivos compatível. Quando não for o caso (NTFS, por exemplo), o Android solicita a formatação do dispositivo.

Como disse anteriormente, a seção "Memória" foi desmembrada da seção "Apps".
Também reformulado, agora as coisas são organizadas de forma diferente, tentando dar uma transparência maior ao consumo de RAM, estando mais complementado.

Contudo, a seção de apps em execução, presente desde as versões mais antigas do Android, ainda existe no Marshmallow, agora estando escondida nas Opções de Desenvolvedor (que explicarei daqui a pouco).
A seção "Serviços em execução", muito útil para ver quais apps estão rodando em primeiro e em segundo plano, não sofreu nenhuma modificação desde o Android Lollipop, quando ainda era priorizado no sistema.

Como deu para perceber na imagem do Lançador, o ícone "Config. Google" já não está mais presente por lá. Mas isto não significa que o Google Play Services já não vem mais instalado nativamente. Agora, o atalho de acesso ao Play Services foi movido para a seção "Configurar", estando acessível na opção "Google".
Visão Geral das Config. Google (pode-se perceber que o visual é bem adaptado ao sistema, diferente de ver o Play Services atual no KitKat, por exemplo).

Curiosidade: Quando abro o YouTube pela primeira vez, é exibido esta tela, solicitando que o usuário atualize o app. Pois é, este é um recurso proveniente do Play Services.

Infelizmente, constatei em meus testes que o Google Play Services não está executando corretamente em todas as compilações lançadas do Android x86 Marshmallow até aqui.
Lembra do problema do assistente de configuração, ao executar o Android pela primeira vez? Pois é, o Play Services sofre uma parada abrupta ao tentar logar com a Conta do Google. Por esta razão, é impossível acessar até a Play Store, por exemplo.

A partir da compilação lançada em 29 de Janeiro, está inclusa nas Configurações uma variação do gerenciador de permissões de super usuário da Cyanogenmod.
Para quem conhece a versão KitKat do Android x86, pode perceber que o gerenciador de super usuário é o mesmo.

Este é o sistema de permissões deste gerenciador de root (ficou com o visual desatualizado, mas é o de menos).

Infelizmente, não quiseram adicionar este app na compilação do Android x86 Marshmallow de 02 de Dezembro, ficando sem nenhum gerenciador, sendo impossível de instalar outro app do gênero, mesmo fora da Play Store, como mostrarei mais adiante.

Esta é a seção "Sobre o tablet" (pois é, a versão utilizada pelo Android x86 é baseada nas versões para tablet do SO da Google). A imagem abaixo se refere ao Android x86 6.0.1.
Aqui tem-se uma visão geral das especificações da compilação lançada em 29 de Janeiro.

Como disse antes, o projeto Android x86 ainda não amadureceu o bastante ao ponto de implementar um sistema de atualizações via OTA, sendo até hoje uma perca de tempo acessar a inútil opção em suas compilações (diferentemente do RemixOS, que conseguiu inserir um método de atualização nestes moldes).

O easter-egg do Android Marshmallow, semelhante ao do Lollipop, diga-se de passagem, aparecia um pouco bugado nas compilações Alpha do Android x86.

Em compensação, o joguinho baseado no famoso Flappy Bird, da .GEARS Studios (trata-se de uma versão aprimorada do que foi oferecido no Lollipop) funciona bem com o mouse.

Desde a versão 4.2, as Opções de desenvolvedor, muito útil para habilitar as conhecidas "Depurações de USB", foram escondidas por padrão pela Google, precisando clicar várias vezes em "Número da versão", na seção "Sobre o telefone/tablet" para habilitar este recurso.
Após clicar 8 vezes, é informado que "Você agora é um desenvolvedor", habilitando, portanto, as Opções correspondentes.

Dentro das Opções de desenvolvedor, um recurso experimental muito aguardado pelos usuários e que está disponível para ser testado é o modo de múltiplas janelas, existente há muito tempo na polêmica interface TouchWiz, para a Samsung, adaptadas para phablets e tablets da companhia sul coreana. Ele virá como padrão no Android 7.x Nougat, a próxima versão do SO da Google.
Para habilitar, é só rolar na seção até encontrar a opção desejada.

É necessário estar ciente do aviso de confirmação dado ao habilitar esta opção. Se estiver tudo certo, é só clicar em "Ativar".

Para configurar o modo multi janelas, é preciso acessar os apps abertos, clicando no retângulo adicionado no canto direito da barra de títulos, escolhendo a configuração desejada.

Em meus testes, o modo multi janelas funcionou sem problemas (creio que até melhor e mais útil do que o modo da Samsung).

Também foram levados para esta seção as configurações de USB externas que, na prática, não são muito úteis.

Aplicativos nativos

Agora será detalhado os aplicativos nativos do Android x86 Marshmallow.
Ele ainda vem com a antiquada versão AOSP do Calendário, que é a mesma introduzida na versão ICS do Android. Vale ressaltar que, com o problema do Play Services, não é possível adicionar contas ao app. No geral, funciona bem. (Para se ter uma ideia, o Google Agenda, que falarei mais adiante, além do design atualizado, recebeu melhorias e novas funcionalidades).

A Calculadora AOSP é a mesma presente desde o Lollipop (não confundir com a Calculadora da Google, que possui um nome diferente).

Também vem com um app de Contatos (a versão AOSP, não a da Play Store), que foi polido em relação à versão anterior.

Este é um menu oferecido pelo projeto Android x86, que oferece ferramentas de teste aos desenvolvedores - inclusive, dando um atalho às Opções de desenvolvedor, falado anteriormente.

O atalho para visualizar os downloads recentes, presente desde as versões mais antigas do Android, teve seu visual polido, mas basicamente, cumpre a mesma função.

O app de E-mail AOSP recebeu alterações em seu design no Lollipop. Mas nas compilações Alpha do Marshmallow, ele não funcionava.

O Android x86 inclui em suas compilações o conhecido emulador de terminal do desenvolvedor Jack Palevich, aqui em sua versão 1.0.70. Como dá para perceber, vários comandos Linux funcionam perfeitamente no Android. Outros comandos podem ser adicionados, adquirindo o app Busybox.

Desde as compilações do KitKat, o Android x86 inclui o Gerenciador de Arquivos do projeto Cyanogenmod; que é bem funcional e atende bem as necessidades do usuário.

Cuidado ao habilitar o modo super usuário na compilação de 02 de Dezembro. Além de não dar certo, pode deixar o app muito instável).

Porém, uma reclamação antiga dos usuários era que o Android não vem com um File Browser nativo. E, finalmente, a Google atendeu os pedidos e inseriu, mesmo que de uma forma inesperada e escondida, um gerenciador próprio, que pode ser acessado na seção "Armazenamento e USB", na opção "Explorar". Funciona bem, mas ainda é um pouco limitado de recursos, servindo apenas para "quebrar um galho".

Desde a versão 4.2 do Android x86, o app AOSP da Galeria insiste em não funcionar, podendo deixar na mão o usuário que quer acessar suas mídias de forma nativa. Até as compilações Alpha do Android x86 6.x,  isto ainda não tinha sido resolvido.

O Gmail, presente nativamente, funciona sem grandes problemas.

Da mesma forma, o app de Pesquisa da Google funciona bem, tendo o recurso 'Now a um toque' presentes. Porém, de vez em quando, o ícone da empresa de Mountain View fica bugado, como pode ser visto acima.

O bug também ocorre no Pesquisa de Voz, cujo ícone mal aparece na tela.

O Navegador AOSP, o mesmo presente desde o Android 4.0 (e, portanto, com código já desatualizado, não sendo recomendável seu uso), não funcionava até a compilação RC1 do Android x86 Marshmallow.

O Android x86 também inclui um app de Bloco de Notas, mesmo estando somente em inglês e com visual fora das diretrizes do Material Design.

Aparentemente, o Google Play Music, reprodutor nativo de músicas, funciona bem.

Mas, recomendo que, antes de abri-lo, desative a rotação automática nas configurações ou na barra de notificações, pois ele insiste em girar a tela ao ser executado pela primeira vez.

O Relógio AOSP (não a versão da Play Store) funciona bem, ressaltando o fato de que o relógio digital não está esticado, se ajustando bem à tela.

Também está presente nativamente um leitor de RSS, que funciona bem, apesar de estar em inglês.

O app Telefone AOSP  (não confundir com a da Play Store) funciona sem problemas, mas sem esquecer que ele não é tão útil sem uma rede celular.

O YouTube também funciona sem problemas (lembrando que a versão do app para o Android 6.x pode ser diferente da versão do Jelly Bean e posteriores - além disso, o ICS já não é mais suportado a partir da versão 11.03).

A Launcher nativa do Android x86 possui configurações semelhantes à Google Now Launcher (que falarei daqui a pouco), como pode ser visto a seguir.
As opções podem ser acessadas, pressionando o botão esquerdo do mouse por alguns instantes.

O Android x86 não traz uma grande opção de papéis de parede, ao ponto de preservar os planos de fundo originais do ICS.

Os wallpapers ativos não funcionam nas compilações Alpha do Android x86 Marshmallow.

Desde o Lollipop, os Widgets não ficam mais junto com o lançador, se tornando uma opção separada, e com rolagem de cima para baixo (diferentemente do KitKat, por exemplo).

Outros apps

Também foram testados outros apps de terceiros, alguns famosos, para mostrar o funcionamento deles nas compilações Alpha do Android x86 Marshmallow, além de poder mostrar algumas particularidades.
Observações: se quer instalar os apps fora da Play Store, como eu fiz, não esqueça de habilitar a clássica opção "Permitir a instalação de fontes desconhecidas"; mover os apps para a memória do sistema (em dispositivo externo dá o erro acima); e, se possível, dê preferência aos apps que oferecem suporte à processadores x86 ou x86_64.

SuperSU 2.67 Beta - Uma já antiga versão de testes do gerenciador de acesso super usuário do famoso desenvolvedor Chainfire até rodou na compilação de 2 de Dezembro (que não possui um root manager nativo), mas não foi possível atualizar os binários e, por isso, não conseguia-se acesso root.

Chrome 47/48 - Assim como o Navegador AOSP no Marshmallow, o navegador da Google também não executa de jeito nenhum. O agravante é que este problema já se arrasta, pelo menos, desde as compilações do KitKat, e até agora não sanaram este problema.

O app de teclado nativo (a versão AOSP) do Android x86, por padrão, não suporta a configuração ABNT2 do idioma PT-BR. Mas o app RaidSix, do desenvolvedor Thiago Falcão, resolve este problema.
Este aplicativo adiciona o suporte a várias configurações de vários idiomas, inclusive, o de Português Brasil ABNT2.

Para configurar o tipo de teclado, vá em "Idioma e entrada", role até AT Translated Set 2 Keyboard e o selecione. Na mensagem que mostra acima, clique em "Configurar os layouts do teclado".

Role até encontrar a configuração "Português (BR), estilo ABNT2" e o selecione.

De volta à mensagem anterior, selecione a configuração que acabou de escolher e pronto.

Stagefright Detector 5 - O app oficial da empresa Zimperium (que levou a público a famosa vulnerabilidade do Android de 2015) revela que o Android x86 Marshmallow está isento de todos os boletins de segurança lançados do Stagefright.

ES File Explorer - O famoso Gerenciador de Arquivos da Estrongs funciona sem problemas no Marshmallow. Também fique atento ao habilitar o acesso root nele na compilação de 02 de Dezembro.

AVAST Mobile Security 5 - O antivírus mobile da famosa empresa do ramo da República Checa possui uma interface adaptada para telas maiores (curiosamente o RemixOS exibe o formato para smartphones). Também funciona sem problemas. Dica: para habilitar o Web Shield, uma proteção aos navegadores, vá até Acessibilidade, em "Configurar".

Notícias e Clima 2.5.2 - O clássico app de manchetes da Google (presente pelo menos desde a versão Froyo do Android, mas que já não é tão popular - talvez nem tão útil - em favor do Google Banca), que ficou algum tempo sem atenção, mas acabou sendo reformulado em meados de 2014, também funciona bem.

Google Agenda 5.3 - A versão do calendário da Google, que conta com uma interface estilizada nos padrões do Material Design, funcionou sem grandes problemas em meus testes, com exceção do problema para autenticação, já citado neste artigo (Vale ressaltar que, a partir da versão 5.3.3, o app só suporta a versão 4.2 ou superior).

Google Now Launcher 1.3 - O lançador da Google (que será descontinuado em favor do Pixel Launcher), que funciona junto com o app de Pesquisa (que vez ou outra fornece as novidades para a ferramenta) e também com o Play Services devidamente atualizado, funcionou sem grandes problemas (não consegui aplicar os papéis de parede que vêm com o app), mas está bem fluído.

Para aplicá-lo, clique no atalho no lançador para executá-lo pela primeira vez. Também dá para acessá-lo indo até Configurar, onde irá aparecer na guia "Dispositivo" a opção "Tela de início"; ou, ainda, clique no círculo na barra de navegação, se funcionar.

Google Tradutor 4.4 - Funcionou sem problemas.

Google Keep 3.3 - A imagem mostra o máximo que ele consegue abrir. Como exige autenticação, o app de notas da Google acabava não sendo funcional nas compilações alpha.

Teclado do Google 4.1 - Se quiser substituir a versão AOSP, provavelmente não encontrará problemas neste app.

VLC 1.7.5 - Ele abre e executa, mas até certo ponto.

Porém, em meus testes, ele, repentinamente, para de funcionar, mostrando o log de erro ao fundo, como pode ser visto na imagem acima.

OfficeSuite 8.5 - A conhecida suite mobile de apps de escritório da Mobisystems executou sem grandes problemas, apesar de alguma lentidão. Pode demorar um pouco para abrir os arquivos. É bom instalar, pelo menos, as fontes que o app disponibiliza.

Não sei o motivo, mas a tela de execução pela primeira vez é um pouco bugada; contudo, é um mero detalhe.

Firefox 44 - Definitivamente, estas compilações não foram feitas para os navegadores. Tanto aqui como no KitKat, o browser da Mozilla não funciona. Ele não chega a travar pelo sistema, mas fica mostrando toda a hora esta tela de crash do app.

Por fim, as opções de desligamento do Android Puro pouco mudaram ao longo dos tempos. Particularmente, ainda sinto falta de uma opção nativa para reiniciar (presente há anos nas versões da Samsung, LG, SONY e muitas fabricantes menores).
Como não implementaram uma versão do botão "Power Off" na barra de notificações (como o existente nas versões do Android x86 KitKat), no VirtuaBox, vá no menu Máquina, e selecione "Desligamento por ACPI".

Com isso, o Android x86 será encerrado corretamente.

Atualização: Em 24 de Abril de 2017, mais de três meses desde o lançamento da última versão estável, e mais de um ano desde o início do desenvolvimento das compilações do Marshmallow para dispositivos Intel/AMD, a equipe do projeto Android x86 anunciou a disponibilidade do Android 6.0.1 R3 que, como de costume, trouxe alguns aprimoramentos, correções de bugs (como o funcionamento do sistema no VMWare), além de componentes internos e aplicativos oficiais da empresa de Mountain View "atualizados" (considerando a data da compilação). Entre outras coisas:
  • Permanecendo sob o kernel Linux 4.4, agora na atualização 62, o problema do driver de vídeo, que acontecia nas primeiras versões desta série LTS do núcleo do sistema, já não ocorre mais, estando muito mais confiável e estável;
  • Vem com os patches de segurança de 5 de Abril, além de contar com as atualizações mais recentes do driver MESA;
  • As opções para formatar em ext2 e ext3 foram removidas durante as compilações alpha, estando disponíveis os seguintes sistemas de arquivos: ext4, NTFS (ver detalhes a seguir e na imagem abaixo) e FAT 32;
  • Segundo as notas da versão, mesmo com o ecossistema construído pela Google no Marshmallow não sendo nativamente compatível, o suporte a dispositivos formatados em NTFS, EXTFAT, VFAT, além do ext4, foi readicionado, como era nas compilações do Android x86 baseadas na versão KitKat - além disso, adicionaram suporte à montagem de CD/DVD;
  • A tela de boot AOSP presente desde o Lollipop voltou a ser utilizada (ela havia sido alterada na compilação de 18 de Março de 2016, para uma versão alternativa, que pode ser conferida abaixo);
  • Possui o app de super usuário nativo;
  • Foi disponibilizado um arquivo empacotado em RPM, que contém um script para ser rodado junto ao QEMU, em sistemas baseados na plataforma RedHat;
  • Segundo o site do projeto, é possível instalar esta compilação atualizando sobre uma versão anterior (o Android x86 KitKat, por exemplo). Assim, as partições criadas em ext2 ou ext3 seriam automaticamente convertidas para o sistema de arquivos ext4. Este método de instalação é semelhante ao que ocorre no Windows.
  • Segundo as notas da versão, o problema conhecido, já persistente de versões anteriores, é a função de suspensão e resumo podem não funcionar em alguns dispositivos (Dica: No VirtualBox, caso a tela apague, dá para reativá-la escolhendo, na barra de menus, a opção Máquina >> 'Desligamento por ACPI').

Abaixo estão outras impressões ilustradas das compilações mais recentes:
Desde as primeiras compilações do Android x86 KitKat, os desenvolvedores implementaram o upgrade sobre uma versão anterior de alguma compilação do projeto, que foi aprimorado nas compilações alpha do Marshmallow para suportar a conversão dos sistemas de arquivos ext2 e ext3 para o ext4. Acima, um exemplo de como funciona o upgrade da compilação R1 para a R2, mantendo os aplicativos e configurações (também suportado no R5 da versão 4.4).

Quando se tenta instalar o sistema formatado como NTFS, o GRUB não inicializa. Não apurei se isto já é um problema recorrente de compilações anteriores ou não.

Desde a RC1, está presente o reprodutor de música do projeto Cyanogenmod, aqui na sua versão 3.0 (substituindo a antiquada versão AOSP que existia até as compilações do Lolipop do Android x86, e também do RemixOS).

O Assistente de Configuração voltou a funcionar corretamente. Contudo, dependendo da estabilidade da máquina, ele ainda pode sofrer um crash (ilustrado acima), podendo retornar desde o início, e então prosseguir normalmente.

A tela 'Configurar e-mail' foi atualizada. Comparando com a imagem acima, percebe-se que está mais completo e ilustrativo, provavelmente sendo uma implementação exclusiva do projeto.

O balão de boas vindas também foi atualizado. Como descrito no site, foi adicionado, em parceria com a Jide (desenvolvedora do RemixOS), uma opção de monitoramento, com o conssentimento do usuário. O balão, ilustrado acima, não foi traduzido para PT-BR.

 Em compensação, vários bugs foram corrigidos. Abaixo, estão os mais aparentes:
O app da Galeria continua funcionando desde a RC1. Contudo, quero ressaltar que, diferentemente do equivalente da Motorola ou da Samsung, a versão AOSP utilizada é muito simplória e carece de recursos.

Finalmente, depois de várias compilações, o problema do crash do Google Play Services foi corrigido, sendo possível utilizar a Play Store, por exemplo.

Esta tela é imediatamente consecutiva à configuração da Conta do Google, nesta compilação.

Também desde a RC1, o bug onde o fundo ficava preto (ver acima), agora é exibido esmaecido, como é o normal do sistema.

Os planos de fundo interativos herdados do Android 4.x agora funcionam nesta versão do Android x86 Marshmallow.

O logo do Android Marshmallow exibido ao pressionar várias vezes o número da versão também foi corrigido.

Aparentemente, o app nativo de E-mail continua funcionando sem grandes problemas.

Outro bug antigo que corrigiram foi as miniaturas dos apps abertos, que agora são exibidos na compilação atual.

O Google Chrome foi um outro app que voltou a funcionar em uma compilação do projeto depois de várias versões (curiosamente, ele já funcionava no RemixOS 2 para PC - baseada no Lolipop - desde o primeiro lançamento). Aqui foi utilizada a versão 52.0.2743.98.

Para completar, depois de tanto tempo, o antiquado Navegador AOSP, o único browser nativo desta versão, voltou a funcionar, praticamente sem problemas (ver nota acima).

Esta é a tela de configurações do browser, estilizado nas diretrizes do Material Design.

Esta era a tela de boot da compilação de 18 de Março de 2016, que não apurei a razão de ter sido trocada na ocasião. Ela também pode aparecer em outras compilações de testes ou mesmo não oficiais baseadas neste projeto, inclusive de versões mais recentes.

Os links para o download das imagens mais recentes do Android x86 estão disponíveis aqui.

Conclusão

Diferentemente de muitos que acham que a interface do Android não foi feita para uso com mouse e teclado, eu, particularmente, até que acho a ideia interessante, e, de fato, está bem implementado e relativamente prático de usar, podendo ser útil para testar apps, dar sobrevida a netbooks e determinados tablets, além de ter um acesso prático e facilitado às versões praticamente puras do Android (eu nunca tive sucesso com o emulador do Android SDK). É um projeto que conseguiu avançar muito até aqui, mas que pode crescer mais, já que ainda necessita de alguns polimentos, como uma tradução mais unificada, e outros recursos que aumentem a confiabilidade. Mas a audácia de levar um sistema prático e vasto como o Android para Netbooks e alguns tablets está levando o projeto cada vez mais longe, que acaba ficando mais conhecido, e que já gerou frutos, como o RemixOS, da Jide (cuja parceria firmada com o Android x86 há algum tempo está sendo muito importante para o desenvolvimento de ambos os sistemas - mas desandou no final do ano passado, quando Chih-Wei Huang saiu da empresa, deixando o futuro do projeto open-source com muitas incertezas - mais informações, veja aqui), comentado bastante neste artigo; seu concorrente, o Phoenix OS (particularmente, acho a interface deste menos polida que a do SO da Jide - entretanto, quero ressaltar a invasão de propagandas e apps de parceiros que tomou conta do RemixOS, que está tornando a experiência menos coesa e um tanto incômoda), além de uma nova alternativa, o OPENTHOS (mais recente que os anteriores, mais informações podem ser obtidas aqui), todos chineses (assim como o próprio Android x86), que estão em constante evolução.

E, para que o Android x86 continue rendendo frutos, é encorajada a doação de dinheiro, dispositivos e outros tipos de suporte. Para mais informações, veja aqui.

Para complementar este artigo, segue abaixo os seguintes links:

É isso. Sintam-se à vontade para divulgar o artigo e também utilizar as ferramentas de comentário disponíveis.

Por último, se você quiser saber mais como o projeto está evoluindo, não deixe de dar uma olhada nas análises de versões mais recentes do Android x86:

Agradeço pelo tempo e pela atenção. Até a próxima. Continuem ligados no Blog de Bruno A. Vieira!