O Android Studio 2.0 chega com uma série de novas funcionalidades e melhorias: Instant Run, integração com um serviço do Google para testar em dispositivos reais, emulador e build mais rápidos, GPU profiler e debugger entre outros.
Construído sobre o último IntelliJ IDEA 2016.1, o Android Studio 2.0 foi liberado recentemente para os desenvolvedores. Detalhamos algumas das novas funcionalidades do Android Studio 2.0 quando foi lançado no canal Canary alguns meses atrás, logo este post focará somente o que é novo ou foi aperfeiçoado.
O Android Studio 2.0 usa a última versão estável da plataforma Android e de suas APIs, mas não inclui suporte ao Android N Developer Preview, que requer o Studio 2.1 Preview. Instalar as ferramentas para desenvolver para o Android N requer algum trabalho manual e detalhes podem ser encontrados na página de Configuração do Preview SDK.
Uma funcionalidade interessante no Android Studio 2.0 é o Instant Run. Após a primeira publicação da aplicação tanto em um emulador como um dispositivo real, o Instant Run aplica a maioria das alterações de código ou recursos sem construir um novo APK. O Android Studio realiza isso usando um dos três tipos de code swapping:
- Hot Swap - está é a abordagem mais rápida sem reinicializar objetos em uma aplicação em execução. Em alguns casos, a activity afetada é automaticamente reiniciada. O Hot swap é usado quando o conteúdo de um método existente é alterado;
- Warm Swap - Este requer a reinicialização da activity corrente e uma oscilação na imagem pode ser notada. A aplicação não é reinicializada. É usado quando um recurso muda ou é removido;
- Cold Swap - Requer a reinicialização da aplicação. Ainda não é criado um novo APK. Usada para uma longa lista de edições incluindo adição/remoção/alteração de anotações, atributos de instância, atributos estáticos, assinatura de métodos estáticos, classes pai, a lista de interfaces implementadas, entre outros.
Um novo APK é construído e publicado quando o manifest é editado. Não é possível usar o Instant Run ao publicar em vários dispositivos simultaneamente dado o fato que são usadas diferentes técnicas para swapping nos diversos níveis de API.
Outra nova funcionalidade no Android Studio 2.0 é a integração com o Cloud Test Lab Beta, um serviço do Google que fornece a possibilidade de testar aplicações Android em dispositivos reais, executando-as nos datacenters do Google. Os desenvolvedores podem escrever os testes usando o Espresso, UI Automator 2.0, ou Robotium. Se nenhum teste for criado, o Google continuará usando o Robo Test, um conjunto básico de testes que verificam se a aplicação trava. O Robo Test simula a atividade do usuário, desde a interface e executando várias tarefas. Um vídeo da simulação automatizada é gravado. Os testes também podem ser instrumentados para capturarem telas em vários momentos durante os testes. Os logs resultantes, vídeos ou screenshots são disponibilizados no Developer Console. Até o momento, o serviço Cloud Test Lab é fornecido gratuitamente. A página de precificação sugere que o Google irá cobrar por esse serviço no futuro.