Preparar o app para lançamento

Para preparar o app para lançamento, configure, crie e teste uma versão de lançamento. As tarefas de configuração envolvem tarefas básicas de limpeza e modificação de código que ajudam a otimizar o app. O processo de build é semelhante ao de build para depuração e pode ser realizado por meio de ferramentas do JDK e do SDK do Android.

As tarefas de teste servem como uma verificação final para ajudar a garantir que o app tenha o desempenho esperado em condições reais. O Firebase oferece um conjunto grande de dispositivos de teste físicos e virtuais pelo Firebase Test Lab que podem ser usados para melhorar a qualidade do app.

Quando concluir a preparação do aplicativo para lançamento, você terá um arquivo APK assinado, que poderá ser distribuído diretamente aos usuários ou por uma loja de aplicativos como o Google Play.

Este documento resume as principais tarefas que precisam ser realizadas para preparar o app para lançamento. As tarefas descritas nesta página se aplicam a todos os apps Android, independente da forma de lançamento ou distribuição para os usuários. Se você está lançando seu app pelo Google Play, leia Faça lançamentos com confiança.

Observação: como prática recomendada, verifique se o app atende a todos os critérios de lançamento quanto a funcionalidades, desempenho e estabilidade antes de realizar as tarefas descritas nesta página.

Mostra como o processo de preparação se insere no processo de desenvolvimento

Figura 1. A preparação para lançamento é uma tarefa de desenvolvimento necessária e é a primeira etapa no processo de publicação.

Tarefas de preparo para lançamento

Para lançar o app para os usuários, é preciso criar um pacote pronto para lançamento que os usuários possam instalar e executar em dispositivos Android. O pacote pronto para lançamento contém os mesmos componentes que o arquivo APK de depuração, ou seja, código-fonte compilado, recursos, arquivo de manifesto, entre outros, e é criado usando as mesmas ferramentas de build. No entanto, diferente do arquivo APK de depuração, o arquivo APK pronto para lançamento é assinado com o seu certificado e otimizado com a ferramenta zipalign.

Mostra as cinco tarefas executadas para preparar o app para lançamento

Figura 2. Há cinco tarefas principais de preparação do app para lançamento.

Normalmente, as tarefas de otimização e assinatura ocorrem de maneira ideal quando o app é criado com o Android Studio. Por exemplo, você pode usar o Android Studio com os arquivos de build do Gradle para compilar, assinar e otimizar o app de uma vez só. Também é possível configurar os arquivos de build do Gradle para fazer o mesmo ao criar usando a linha de comando. Para saber mais sobre o uso de arquivos de build do Gradle, consulte Configurar seu build.

Normalmente, para preparar o app para lançamento, você executa cinco tarefas principais, como mostrado na figura 2. Cada tarefa principal pode incluir uma ou mais tarefas menores, dependendo da forma de lançamento do app. Por exemplo, se você está lançando o app no Google Play, pode querer adicionar regras de filtragem especiais ao manifesto durante a configuração. Da mesma forma, para atender às diretrizes de publicação do Google Play, pode ser preciso preparar capturas de tela e criar textos promocionais durante a coleta de materiais para o lançamento.

Normalmente, as tarefas listadas na figura 2 são realizadas depois de depurar e testar cuidadosamente o app. O SDK do Android contém várias ferramentas para ajudar a testar e depurar apps Android. Para mais informações, consulte Depurar seu app e Testar seu app.

Coleta de materiais e recursos

Para preparar o app para lançamento, é preciso coletar diversos itens de suporte. Isso inclui pelo menos as chaves criptográficas usadas na assinatura e um ícone do app. Também é possível incluir um contrato de licença de usuário final.

Chaves criptográficas

O Android exige que todos os APKs sejam assinados digitalmente com um certificado antes de serem instalados em um dispositivo ou atualizados. Na Google Play Store, todos os apps criados após agosto de 2021 precisam usar a Assinatura de apps do Google Play. No entanto, para fazer upload do AAB no Play Console, ainda será necessário assiná-lo com seu certificado de desenvolvedor. Apps mais antigos ainda podem ser autoassinados, mas, seja usando a Assinatura de apps do Google Play ou uma autoassinatura, será necessário assinar o app antes de fazer upload dele.

Para saber mais sobre os requisitos para certificados, consulte Assinar seu app.

Importante: o app precisa ser assinado com uma chave criptográfica válida até 22 de outubro de 2033.

Pode ser necessário utilizar outras chaves de lançamento se o app acessar um serviço ou usar uma biblioteca de terceiros que exija uma chave baseada na sua chave privada.

Ícone do app

O ícone ajuda o usuário a identificar o app na tela inicial de um dispositivo e na janela "Launcher". Ele também aparece em "Manage Applications", "My Downloads" e em outros locais. Além disso, serviços de publicação como o Google Play mostram o ícone aos usuários. Verifique se você tem um ícone do app e se ele atende às diretrizes para ícones (link em inglês) recomendadas.

Observação: se você está lançando o app no Google Play, é preciso criar uma versão do ícone em alta resolução. Para mais informações, consulte Adicionar recursos de pré-visualização para mostrar seu app.

Contrato de licença de usuário final

Prepare um Contrato de licença de usuário final (EULA) para o app. Ele pode ajudar a proteger você, a organização e a propriedade intelectual. Recomendamos disponibilizar um EULA com o app.

Materiais diversos

Pode ser necessário preparar materiais promocionais e de marketing para divulgar seu app. Por exemplo, se você estiver lançando seu app no Google Play, precisará preparar textos promocionais e criar capturas de tela do app. Para mais informações, consulte Adicionar recursos de pré-visualização para mostrar seu app.

Configurar seu app para lançamento

Depois de coletar todos os materiais de apoio, você pode começar a configurar o app para lançamento. Esta seção oferece um resumo das mudanças de configuração que recomendamos fazer no código-fonte, nos arquivos de recursos e no manifesto do app antes do lançamento.

Embora a maioria das alterações de configuração listadas nesta seção seja opcional, elas são consideradas boas práticas de programação, e sugerimos que você as implemente. Em alguns casos, essas mudanças já podem ter sido feitas como parte do processo de desenvolvimento.

Escolher um ID do aplicativo adequado

Escolha um ID adequado para todo o período de vida do app. Não é possível mudar o ID do aplicativo depois de distribuí-lo aos usuários. Para configurá-lo, use a propriedade applicationId no arquivo build.gradle ou build.gradle.kts do módulo. Para mais informações, consulte Definir o ID do aplicativo.

Desativar a depuração

Para configurar se o APK é depurável, use a sinalização debuggable para Groovy ou a isDebuggable para o script Kotlin:

Kotlin

  android {
    ...
    buildTypes {
      release {
        isDebuggable = false
        ...
      }
      debug {
        isDebuggable = true
        ...
      }
    }
    ...
  }
  

Groovy

  android {
    ...
    buildTypes {
      release {
        debuggable false
        ...
      }
      debug {
        debuggable true
        ...
      }
    }
    ...
  }

Ativar e configurar a redução de apps

Muitas das otimizações abaixo podem ser automatizadas ativando a redução para o build de lançamento. Por exemplo, é possível adicionar regras do ProGuard para remover log statements. O redutor vai identificar e remover o código e os recursos não utilizados. O redutor também pode substituir nomes de classes e variáveis por nomes mais curtos para reduzir ainda mais o tamanho do DEX.

Desativar a geração de registros

Desative a geração de registros antes de criar o app para lançamento. Para desativar a geração de registros, remova as chamadas para os métodos Log nos arquivos de origem. Além disso, remova todos os arquivos de registros ou arquivos de teste estáticos criados no projeto.

Remova também todas as chamadas de rastreamento Debug que você adicionou ao código, como as chamadas de método startMethodTracing() e stopMethodTracing().

Importante: se você estiver usando uma WebView para mostrar conteúdo pago ou se estiver usando interfaces JavaScript, desative a depuração. Caso contrário, os usuários vão poder injetar scripts e extrair conteúdo usando o Chrome DevTools. Para desativar a depuração, use o método WebView.setWebContentsDebuggingEnabled().

Limpar os diretórios do projeto

Limpe o projeto e verifique se ele está de acordo com a estrutura de diretórios descrita em Visão geral de projetos. Arquivos perdidos ou órfãos esquecidos no projeto podem evitar a compilação do app e fazer com que ele tenha um comportamento imprevisível. No mínimo, execute estas tarefas de limpeza:

  • Revise o conteúdo dos diretórios cpp/, lib/ e src/. O diretório cpp/ vai conter apenas arquivos associados ao Android NDK, como arquivos de origem C ou C++, arquivos principais ou makefiles. O diretório lib/ vai conter apenas arquivos de bibliotecas de terceiros ou particulares, incluindo bibliotecas pré-criadas e estáticas. O diretório src/ vai conter apenas os arquivos de origem do app (arquivos Java, Kotlin e AIDL). O diretório src/ não pode conter nenhum arquivo JAR.
  • Confira se o projeto contém arquivos de dados particulares ou reservados que não são usados pelo app e os remova. Por exemplo, procure no diretório res/ do projeto arquivos antigos drawables, de layout e de valores que você não está mais usando e exclua-os.
  • Verifique se há bibliotecas de teste no diretório lib/ e remova-as se não estiverem mais sendo usadas pelo app.
  • Revise o conteúdo dos diretórios assets/ e res/raw/ para conferir se há arquivos de ativos brutos e estáticos que precisam ser atualizados ou removidos antes do lançamento.

Revisar e atualizar o manifesto e as configurações de build do Gradle

Verifique se os itens dos arquivos de manifesto e de build abaixo estão definidos corretamente:

  • Elemento <uses-permission>

    Especifique apenas as permissões relevantes e necessárias para seu app.

  • Atributos android:icon e android:label

    É preciso especificar valores para esses atributos, que estão localizados no elemento <application>.

  • Propriedades versionCode e versionName

    Recomendamos especificar os valores dessas propriedades, localizados no arquivo build.gradle ou build.gradle.kts do módulo. Para mais informações, consulte a página Controlar versões do app.

Existem vários outros elementos de arquivo de build que podem ser definidos se você estiver lançando o app no Google Play. Por exemplo, os atributos minSdk e targetSdk, localizados no arquivo build.gradle ou build.gradle.kts no nível do módulo. Para mais informações sobre essas e outras configurações do Google Play, consulte Filtros no Google Play.

Resolver problemas de compatibilidade

O Android oferece diversas ferramentas e técnicas para tornar o app compatível com uma grande variedade de dispositivos. Para disponibilizar o app ao maior número possível de usuários, faça o seguinte:

Adicione suporte para configurações com várias telas.
Verifique se está atendendo às práticas recomendadas para suporte a várias telas. O suporte a configurações de várias telas permite criar um app que funciona corretamente e com boa aparência nos tamanhos de tela com suporte no Android.
Otimizar seu app para telas maiores.
É possível otimizar o app para funcionar bem em dispositivos com telas grandes, como tablets e dobráveis. Por exemplo, layouts de detalhes de lista podem melhorar a usabilidade em telas maiores.
Considere usar as bibliotecas do Jetpack.
O Jetpack é um pacote de bibliotecas que ajuda desenvolvedores a seguir as práticas recomendadas, reduzir códigos boilerplate e programar códigos que funcionam de maneira consistente em diferentes dispositivos e versões do Android.

Atualizar URLs para servidores e serviços

Se o app acessa servidores ou serviços remotos, use o URL ou caminho de produção para o servidor ou serviço, não o URL ou caminho de teste.

Implementar o licenciamento para o Google Play

Se você está lançando um app pago no Google Play, pode adicionar suporte ao Google Play Licensing. O licenciamento permite controlar o acesso ao aplicativo dependendo da compra ou não do app pelo usuário. O uso do Google Play Licensing é opcional, mesmo que você lance o app nessa plataforma.

Para mais informações sobre o serviço Google Play Licensing e saber como usá-lo no app, consulte Licenciamento do app.

Criar seu app para o lançamento

Depois de concluir a configuração do app, você pode iniciar a criação em um arquivo APK pronto para lançamento, assinado e otimizado. O JDK contém as ferramentas para assinar o arquivo APK (Keytool e Jarsigner). O SDK do Android contém as ferramentas para compilar e otimizar o arquivo APK. Se você está usando o Android Studio ou o sistema de build do Gradle na linha de comando, pode automatizar todo o processo de build. Para saber mais sobre a configuração de builds do Gradle, consulte Configurar variantes de build.

Se você estiver usando um sistema de integração contínua, poderá configurar uma tarefa para automatizar o processo de lançamento. Isso não se limita à criação do APK ou AAB de lançamento. Também é possível configurá-lo para fazer upload automático dos artefatos do build para o Play Console.

Criar com o Android Studio

Use o sistema de build do Gradle integrado ao Android Studio para criar um arquivo APK pronto para lançamento, otimizado e assinado com a chave privada. Para aprender a configurar e executar builds no Android Studio, consulte Criar e executar o app.

O processo de build presume que você tem um certificado e uma chave privada adequados para assinar o app. Se você não os tiver, o Android Studio pode ajudar a gerá-los. Para mais informações sobre o processo de assinatura, consulte Assinar o app.

Preparar servidores e recursos externos

Se o app utilizar um servidor remoto, verifique se o servidor é seguro e se está configurado para uso em produção. Isso é especialmente importante se você está implementando o Faturamento em apps e executando a etapa de verificação da assinatura em um servidor remoto.

Além disso, se o app busca conteúdo de um servidor remoto ou de um serviço em tempo real (como um feed de conteúdo), verifique se o conteúdo que você oferece está atualizado e pronto para produção.

Testar seu app para o lançamento

O teste da versão de lançamento do app ajuda a garantir que ele seja executado corretamente em condições reais de dispositivos e rede. O ideal é testá-lo em pelo menos um dispositivo com tamanho de celular e em um com tamanho de tablet para verificar se os elementos da interface do usuário têm o tamanho correto e se o desempenho do app e o consumo de bateria são aceitáveis. O Firebase Test Lab também pode ser útil para testar em uma variedade de dispositivos e versões do SO Android.

Como ponto de partida para o teste, consulte Principais critérios de qualidade do app. Quando você concluir os testes e achar que o comportamento da versão de lançamento do aplicativo é adequado, poderá lançá-lo para os usuários. Para saber mais, consulte Lançar o app para os usuários.