Android SDK

Android guarda-chuva

Desvendando os mistérios da instalação da Android SDK…

Como alguns já sabem, tenho ministrado um curso presencial de Xamarin na cidade de São Paulo. É uma imensa satisfação, para mim, “retornar as raízes” como professor, que foi minha porta de entrada no mercado de trabalho com TI, em meados de 1998.

Acredito que a melhor coisa em ser professor é o aprendizado… As situações em sala, dúvidas dos alunos e diversas outras experiências alimentam a vontade de estudar cada vez mais, pelo menos comigo acontece assim.

Outro aspecto curioso é que me ajuda muito a ser humilde, manter os pés no chão, lembrando que não há DONOS DA VERDADE e que a cada aula, novos desafios serão vencidos e novos desafios serão apresentados… E eu acho isso o máximo!

Outra grande vantagem é que os debates e dúvidas, podem render bons artigos… E esse é um deles…

Uma dúvida recorrente quando o assunto é desenvolvimento Xamarin, em especial Android, é com o que deve-se instalar, manter instalado e não instalar, da Android SDK.

O fato é que, na minha opinião, boa parte dos problemas que você pode ter com desenvolvimento Android (iOS e WinPhone também) com Xamarin, depende muito de configurar legal as suas ferramentas.

E cuidado, as ferramentas para desenvolvimento Android devem ser instaladas com muita atenção, pois é uma linda “trufinha com recheio de merda” e uma mordida errada poderá causar efeitos colaterais irreversíveis em seu sistema operacional, resolvidos apenas com a boa e velhar formatação… rs…

Então vamos lá!

Instalando…

Se você, assim como eu, não pretende usar a IDE “oficial” do Android, a ADT, a melhor forma de instalar os recursos necessários para trabalhar com desenvolvimento mobile usando Xamarin (Forms ou Tradicional) é usando o instalador do Visual Studio 2015 ou “15” (2016) ou do Xamarin Studio para usuários Mac.

No instalador, há uma opção que, quando selecionada, irá instalar todas as ferramentas básicas necessárias para o desenvolvimento.

Será uma caixa de seleção parecida com a que segue na imagem abaixo:

Opções de instalação das ferramentas Android + Java no instalador do Visual Studio.
Opções de instalação das ferramentas Android + Java no instalador do Visual Studio.

Você também pode ir pelo caminho “tradicional”, fazer o download das ferramentas diretamente pelo site do desenvolvedor Android, clicando aqui. Mas é por sua conta e risco! Rs…

É importante frisar que a instalação da ADT, seja pelo caminho “tradicional” ou instalador do Visual Studio, servem tanto para o desenvolvimento usando Xamarin, como para o desenvolvimento Java, mas requer algum cuidado, como iremos ver nas dicas no final do artigo.

Android SDK Manager

Essa é uma pedra no sapato!

Neste ponto a atenção precisa ser redobrada, pois um passo em falso pode te causar desconfortos como ter as SDKs do Android instaladas em 3 lugares ocupando 90Gb do HD, por exemplo.

Para desenvolver seus apps, você não precisa baixar e instalar TUDO que é disponibilizado no SDK Manager e principalmente tomar certo cuidado com o que é lançado, pois pode NÃO ESTAR FUNCIONANDO DIREITO (e isso é mais comum do que deveria).

Vamos usar algumas imagens para auxiliar no entendimento dos recursos necessários para o desenvolvimento Android.

Recursos disponíveis: Android SDK Manager.
Recursos disponíveis: Android SDK Manager.

Na imagem acima, vemos os agrupamentos de recursos disponíveis para download.

Uma detalhe IMPORTANTE que todo DESENVOLVEDOR Android deve considerar é que API “level” É MAIS RELEVANTE para solução de problemas e disponibilidade de funcionalidades, do que a versão do Android em si.

Se você observar dentro do Android 4, por exemplo, houveram 7 versões de API, foram elas: API 14, 15, 16, 17, 18, 19 e 20.

Observe também as API 9 e 10, a versão do Android “vai igual” até 2.3.x, isso já me causou muitos problemas… rs… Portanto, API > Versão Android. Versão é importante? Sim, mas a API tem maior relevância.

Isso vem melhorando um pouco, mas algumas coisas ainda deixam a desejar.

As APIs abaixo de 8 já foram descontinuadas e os aparelhos são raríssimos, acredito que aparelhos com as APIs que não estão aparecendo no SDK Manager já nem existam mais e por isso foram removidos.

O suporte já foi descontinuado para API 7 e a API 8 está sendo descontinuada, mas ainda há um número grande de aparelhos com esta versão, eu mesmo tenho aplicativos cujo suporte para essas versões ainda é obrigatório.

Mas, o que instalar?

Anteriormente falamos um poucos sobre as versões de API e agora vou mostrar o que você precisa DE FATO instalar para desenvolver os seus aplicativos sem dores de cabeça.

Tools

Android Build-tools.
Android Build-tools.

Na “pasta” Tools do SDK Manager, temos: Android SDK Tools, Android Platform-tools e as Android SDK Build-tools.

Apesar dos nomes serem muito parecidos, são coisas distintas…

Aqui geralmente eu instalo e mantenho atualizadas TODAS as “ferramentas”. Certo ou errado, não sei, mas já enfrentei problemas por parte de recursos de versões “antigas” precisarem “buildar” e quando o recurso foi requisitado, não estava disponível e eu precisei baixar. Então, como isso ocupa pouco espaço, “melhor pecar pelo excesso do que pela falta”.

FAÇO AQUI UMA RESSALVA para “Android SDK Build-tools 24” e “Android SDK Build-tools 24.0.1” APESAR DE NÃO ESTAREM EM PREVIEW não estão funcionando (até o lançamento deste artigo), portanto, não instale, ainda… Daqui algum tempo talvez resolvam os problemas…

E quanto a “Tools (Preview Channel)”, se o que NÃO ESTÁ EM PREVIEW está dando merda, imagina o Preview… rs…

Quando se trata de atualizações de versões das ferramentas Android (e Java também) sempre pergunte para a comunidade se as atualizações estão “Safe for Work”, ok?

APIs

Recursos disponíveis dentro das "pastas" Android SDK.
Recursos disponíveis dentro das “pastas” Android SDK.

Dentro de cada “pasta” “Android X.Y (API Z)” vocês vão encontrar o item “SDK Platform”, este é o ÚNICO ITEM QUE VOCÊ PRECISA INSTALAR para desenvolver os seus aplicativos, DE CADA UMA DAS APIS que você deseja “oferecer suporte”.

Digo “oferecer suporte” pois vocÊ não precisa necessariamente ter a SDK Platform da API 22 instalada, para oferecer suporte ao Android 5.1.1.

A instalação desses recursos afeta a seleção do “range” de versões que você irá oferecer suporte, vide imagem abaixo:

Propriedades do projeto Android, "range" de versões.
Propriedades do projeto Android, “range” de versões.

Em Android (e demais plataformas), você precisa informar qual a versão mínima e qual a versão máxima (ou target) que sua aplicação oferecerá suporte. E para poder oferecer suporte ao “build” e “target” para uma versão específica, você precisa ter o recurso instalado.

No exemplo acima, eu estou “compilando” o aplicativo usando a SDK do Android 6.0 (API 23), porém, estou informando que o aplicativo irá rodar normalmente em versões a partir da API 15, ou seja, API 16, 17, 18, 19, 20, 21 e 22.

Lógico que o aplicativo deve ser preparado para isso, instalando as bibliotecas de suporte do Google para oferecer suporte a novos recursos para versões mais antigas do sistema.

Um ponto importe para ser considerado é que, certas bibliotecas, EXIGEM uma API mínima, neste caso, estou definindo API 15 pois o Xamarin.Forms não apresenta um comportamento “normal” em APIs menores, portanto se seu aplicativo precisa oferecer suporte a versões “menores”, recomendo considerar uma abordagem tradicional.

Eu mantenho instalado as seguintes SDKs: API 8 (versão mínima que desenvolvo) e TODAS as SDKs a partir da API 15, EXCETO a API 24.

NÃO RECOMENDO que você instale os outros recursos disponíveis. Documentos?! Tem on-line, porque você precisaria ocupar espaço do seu HD com eles… Exemplos?! Para mim são inúteis pois não resolvem problemas “mais cabeludos”… Imagens do sistema!? A menos que você for utilizar o emulador Android do Google, que é uma merda, instale… E ainda assim recomendo baixar e instalar o Genymotion ou o emulador Android do Visual Studio…

Extras

Lá no final… Temos os Extras…

Extras.
Extras.

Aqui é o mesmo caso das “Tools”, instalo e mantenho TUDO atualizado.

“Intel x86 Emulator Accelerator (HAXM Installer)” eu não instalo pois, no meu caso, não uso o emulador do Google, então este recurso é inútil para mim.

Toques finais

Com o que foi apresentado acima, você estará com seu ambiente configurado e pronto para sair codificando seus Apps.

Algumas dicas:

#1: Feche o Visual Studio, Xamarin Studio ou qualquer outra IDE antes de abrir o SDK Manager e instalar e manipular os recursos disponíveis;

#2: Abra o SDK Manager como administrador, isso ajuda pois ele manipula pastas do sistema e se esse suporte não está “ativo” ele vai dar pau e provavelmente não vai te avisar.

#3: Quando estiver instalando/desinstalando recursos, mantenha o log do SDK Manager aberto, assim você poderá ver se as alterações estão sendo aplicadas com sucesso.

Botão para abrir log do SDK Manager destacado.
Botão para abrir log do SDK Manager destacado.

#4: Atente-se para as pastas onde as IDEs buscam os recursos, seja no Visual Studio, Xamarin Studio ou outra IDE. Certifique-se que “todos” estão “olhando” para o mesmo lugar, isso evita duplicar as instalações e principalmente trabalhar com versões diferentes da JDK, por exemplo.

Visual Studio 2015: Tools -> Options -> Xamarin.
Visual Studio 2015: Tools -> Options -> Xamarin.

#5: Aproveite que está conferindo as pastas (Dica #4), abra o prompt (cmd) e execute a seguinte linha: “echo %JAVA_HOME%”

Certifique-se de que a pasta JAVA_HOME configurada nas variáveis de ambiente do Windows estejam apontando para o mesmo lugar.

ATENÇÃO: Se não exibir nenhuma pasta e tudo estiver funcionando, NÃO MEXA! GRANDE RISCO DE DAR MERDA…

#6: Coisas estranhas podem acontecer ao compilar seus aplicativos Android, isso é mais comum do que você gostaria, 80% dos casos são problemas relacionados ao download/descompactação dos arquivos baixados pelo SDK Manager.

Quando esse tipo de coisa acontece, erros “sinistros” como “JavaClassNotSupportedException”, “SDK xyz not found in folder xpto”, etc… Não se desespere!

Respire fundo e verifique na pasta que você instalou sua Android SDK se está tudo certo por lá. É mais comum do que gostaríamos, mas o SDK Manager “vira e mexe” não descompacta corretamente os arquivos da SDK, nesse caso, você terá que baixar o arquivo manualmente e descompactar na pasta da SDK por sua conta.

Para finalizar…

Espero que tenha ajudado de alguma forma, os comentários da comunidade sempre serão bem vindos, se eu errei em alguma informação, por favor, me avise, se houver informações para complementar também serão muito bem vindas!

Gostaria de aproveitar para agradecer imensamente a minha aluna querida Mah Moreira por ter me “lembrado” que eu tenho um Blog com o comentário “POXA, bem que você poderia colocar essas dicas lá no seu Blog hein!” depois de quase 1 hora apresentando e explicando todas essas dicas em sala! Obrigado!

Espero que tenham gostado e, até a próxima conexão!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *