Como desenvolvedor para dispositivos móveis, você geralmente desenvolve a interface do seu app passo a passo, em vez do que desenvolver tudo de uma vez. O Android Studio adota essa abordagem o Jetpack Compose, que oferece ferramentas que não exigem um build completo para inspeção; modificar valores e verificar o resultado final.
Edição em tempo real
A Edição em tempo real permite atualizar elementos combináveis em emuladores e de dispositivos físicos em tempo real. Essa funcionalidade minimiza as mudanças de contexto entre a programação e a criação do app, permitindo que você se concentre em escrever o código por mais tempo sem interrupções.
A Edição em tempo real tem três modos:
- Manual: as alterações de código são aplicadas quando são enviadas manualmente usando Control + ' (Command + ' no macOS)
- Manual ao salvar: as alterações de código são aplicadas quando são salvas manualmente usando Control + S (Command + S no macOS).
- Automática: as mudanças são aplicadas no dispositivo ou emulador quando você atualiza um função combinável.
O recurso de Edição em tempo real se concentra em mudanças no código relacionadas a IU e UX. Ele não oferece suporte a mudanças como atualizações de assinatura de método, adição de novos métodos ou mudanças na hierarquia de classes. Para saber mais, consulte a lista de Limitações do recurso Edição em tempo real.
Esse recurso não substitui a criação e execução do app ou o recurso Aplicar mudanças. Em vez disso, ele foi projetado para otimizar o fluxo de trabalho durante a criação, implantação e iteração para desenvolver a interface do Compose.
Confira as práticas recomendadas de fluxo de trabalho:
- Configure o aplicativo para que ele possa ser executado.
- Use a Edição em tempo real o máximo possível, até que seja necessário fazer uma mudança sem suporte desse recurso. Por exemplo: adicionar novos métodos enquanto o app estiver em execução.
- Depois de fazer uma mudança sem suporte, clique em Run
para reiniciar no app e retomar a Edição em tempo real.
Como fazer a Edição em tempo real
Para começar, siga estas etapas para criar uma atividade vazia do Compose: ative Use a Edição em tempo real para fazer mudanças no projeto.
Configurar o novo projeto
Antes de começar, verifique se você tem o Android Studio Giraffe ou uma versão mais recente. instalado e se o nível da API do seu ambiente dispositivo ou emulador for pelo menos 30.
Abra o Android Studio e selecione New Project no pop-up Welcome to Android Studio. Se você já tem um projeto aberto, crie uma em Arquivo > Novo > Novo projeto.
Escolha o modelo Empty Compose Activity para Phone and Tablet e clique em Next.
Figura 1. Modelos disponíveis. Na Edição em tempo real, selecione Empty Compose Activity. Preencha a caixa de diálogo New Project com as informações necessárias: nome, nome do pacote, local para salvar, SDK mínimo e idioma de configuração do build.
Figura 2. Exemplos de configurações do projeto. Clique em Finish.
Ativar o recurso Edição em tempo real
Acesse as configurações para ativar a Edição em tempo real.
- No Windows ou no Linux, acesse File > Settings > Editor > Live Edit.
- No macOS, acesse Android Studio > Settings > Editor > Live Edit.
Selecione a opção Live Edit e o modo que você quer executar nas configurações.
No modo manual, as alterações de código são enviadas sempre que você pressiona Control + ' (Command + ' no macOS). Modo manual ativado salvar, as alterações no código são aplicadas sempre que você salva manualmente, Use Control + S (Command + S na macOS). No modo automático, as alterações de código são aplicadas no dispositivo ou emulador enquanto você faz as alterações.
Figura 3. Configurações da Edição em tempo real. No editor, abra o arquivo
MainActivity
, que é o ponto de entrada do app.Clique em Run
para implantar o app.
Depois que você ativa a Edição em tempo real, a marca de seleção verde Atualizado aparece na No canto superior direito da janela de ferramentas Running Devices:
Fazer e revisar mudanças
À medida que você faz mudanças com suporte no editor, o dispositivo de teste virtual ou físico é atualizado automaticamente.
Por exemplo, edite o método Greeting
existente em MainActivity
para a
seguintes:
@Composable fun Greeting(name: String) { Text( text = "Hello $name!", Modifier .padding(80.dp) // Outer padding; outside background .background(color = Color.Cyan) // Solid element background color .padding(16.dp) // Inner padding; inside background, around text) ) }
As mudanças feitas aparecem instantaneamente no dispositivo de teste, conforme mostrado na Figura 4.
![Mudanças feitas no método de saudação mostradas em um dispositivo](https://developer.android.com/static/studio/images/run/device-le-example.png?authuser=6&hl=pt)
Greeting
.Resolver problemas do recurso Edição em tempo real
Se as edições não aparecerem no dispositivo de teste, talvez o Android Studio tenha falhado para atualizar suas edições. Verifique se o indicador "Edição em tempo real" mostra Desatualizado, conforme mostrado na Figura 5, que indica um erro de compilação. Para saber mais sobre o erro e receber sugestões para resolvê-lo, clique no indicador.
![Ícone "out of date" da Edição em tempo real](https://developer.android.com/static/studio/images/run/live-edit-out-of-date.png?authuser=6&hl=pt)
Limitações do recurso Edição em tempo real
Veja abaixo uma lista das limitações atuais.
[Aplicável apenas ao Android Studio Giraffe e versões mais recentes] A Edição em tempo real requer o Compose Runtime. versão 1.3.0 ou mais recente. Se o projeto usa uma versão anterior do Compose, a Edição em tempo real é desativado.
[Aplicável apenas ao Android Studio Giraffe e versões mais recentes] A Edição em tempo real requer o AGP 8.1.0-alpha05 ou mais alto. Caso seu projeto use uma versão anterior do AGP, a Edição em tempo real é desativada.
A Edição em tempo real exige um dispositivo físico ou emulador que esteja executando o nível da API 30 ou mais.
A Edição em tempo real só oferece suporte à edição de um corpo de função, ou seja, não é possível mudar o nome ou a assinatura da função, adicionar ou remover uma função ou mudar campos que não sejam de função.
A Edição em tempo real redefine o estado do app na primeira vez que você muda uma função do Compose. um arquivo. Isso só acontece após a primeira mudança de código. O estado do app não é redefinidas por mudanças de código subsequentes feitas nas funções do Compose nesse arquivo.
As classes modificadas na Edição em tempo real podem ter problemas de performance. Execute seu e use um build de lançamento limpo se estiver avaliando a compatibilidade e desempenho do seu app.
É necessário executar uma execução completa para que o depurador funcione nas classes modificados com a Edição em tempo real.
Um app em execução pode falhar quando você usa a Edição em tempo real. Se isso acontecer, você pode reimplantar o app com o botão Run
.
A Edição em tempo real não faz nenhuma manipulação de bytecode definida no seu do arquivo de build do projeto, por exemplo, manipulação de bytecode que seria são aplicadas quando o projeto é criado usando as opções do menu Build ou clicando nos botões Build ou Run.
As funções não combináveis são atualizadas em tempo real no dispositivo ou emulador, e uma a recomposição completa é acionada. A recomposição completa pode não invocar a função atualizada. Para funções não combináveis, é necessário acionar as funções recém-atualizadas ou executar o app novamente.
A Edição em tempo real não é retomada após a reinicialização do app. Execute o app novamente.
A Edição em tempo real só oferece suporte a processos depuráveis.
A Edição em tempo real não oferece suporte a projetos que usam valores personalizados para
moduleName
emkotlinOptions
na configuração do build.A Edição em tempo real não funciona com implantações múltiplas. Isso significa que não é possível implantar em um dispositivo e depois em outro. A Edição em tempo real só está ativa nestes dispositivos o último conjunto de dispositivos em que o app foi implantado.
A Edição em tempo real funciona com implantações em vários dispositivos dispositivos criados em Selecionar vários dispositivos no destino lista suspensa de dispositivos. No entanto, ele não tem suporte oficial e pode haver problemas. Se você tiver problemas, envie uma denúncia.
Esse recurso não é compatível com a Edição em tempo real e exigem a reinicialização do app em execução.
No momento, a Edição em tempo real não oferece suporte a projetos do Android Automotive.
Perguntas frequentes sobre o recurso Edição em tempo real
Qual é o status atual da Edição em tempo real?
A Edição em tempo real está disponível no Android Studio Giraffe. Para ativar, faça o seguinte: Acesse Arquivo > Configurações > Editor > Edição em tempo real (Android Studio > Configurações > Editor > Edição em tempo real no macOS).
Quando usar a Edição em tempo real?
Use a Edição em tempo real quando quiser conferir rapidamente o efeito das atualizações na UX elementos (como atualizações de modificadores e animações) no app geral do usuário.
Quando devo evitar usar a Edição em tempo real?
O recurso de Edição em tempo real se concentra em mudanças no código relacionadas a IU e UX. Não suporta alterações, como atualizações de assinatura de métodos, adição de novos métodos ou mudanças na hierarquia. Para mais informações, consulte Limitações da transmissão ao vivo Editar.
Quando usar a visualização do Compose?
Use a Visualização do Compose ao desenvolver elementos combináveis. Visualizar visualiza os elementos do Compose e é atualizado automaticamente para exibir o o efeito das alterações de código. A visualização também suporta a visualização de elementos da interface em diferentes configurações e estados, como tema escuro, localidades e fonte escala.
Edição em tempo real de literais (descontinuado)
O Android Studio pode atualizar, em tempo real, literais constantes usados em elementos combináveis nas visualizações, no emulador e no dispositivo físico. Veja alguns tipos compatíveis:
Int
String
Color
Dp
Boolean
É possível visualizar literais constantes que acionam atualizações em tempo real sem o de compilação ativando decorações literais com a Edição em tempo real do indicador de interface literal:
Apply Changes
Apply Changes permite atualizar código e recursos sem precisar reimplantar o app em um emulador ou dispositivo físico, limitações).
Sempre que você adicionar, modificar ou excluir elementos combináveis, poderá atualizar o app sem sem precisar reimplantá-lo clicando no botão Apply Code Changes:
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Personalizar animações {:#customize-animations}
- Animações com base no valor
- Adicionar parâmetros