Criando o APK do Android e publicando um App no GitHub

Criando o APK do Android e publicando um App no GitHub

Ao desenvolver um App Android, temos acesso ao Android Studio para codificar e rodar o nosso projeto em dispositivos Android, seja físico ou emulador. Porém, e se quisermos rodar o nosso App em outros dispositivos que não temos acesso? Como por exemplo, o celular dos nossos amigos ou amigas, pais ou qualquer outra pessoa, o que podemos fazer?

Em situações como essas, precisamos gerar um arquivo executável para Android e neste artigo eu vou te mostrar um jeito simples de fazer isso, e também, como deixar o seu App público para outras pessoas baixarem.

Conhecendo o arquivo executável do Android - APK

Em todos os sistemas operacionais, existe um arquivo específico para rodar aplicativos, como por exemplo, no Windows temos o .exe. No Android esse arquivo é conhecido como APK ou Android Package, ou seja, se você quer rodar o seu App em qualquer dispositivo Android, é necessário gerar o APK do seu projeto.

Banner promocional da Semana Carreira Tech, organizada pela Alura e FIAP. Texto: 'Descubra como graduações tech estão transformando o futuro. Cinco lives gratuitas para você mergulhar nas áreas mais transformadoras da atualidade, desde o que se estuda nas graduações até a prática do mercado. Garanta sua vaga de 01 a 05 de julho.' Imagem de profissionais usando equipamentos tecnológicos avançados, como óculos de realidade aumentada. Botão destacado com a chamada 'Garanta sua vaga'. Logotipos da Alura e FIAP no canto superior direito.

Gerando o APK com o Android Studio

Existem várias maneiras de gerar um APK, seja pelo terminal, scripts do Gradle e até mesmo pelas opções do Android Studio. Para essa demonstração, vou utilizar o Android Studio pela praticidade, também, usarei o projeto Panucci como exemplo.

Com o projeto aberto no Android Studio:

  • Acesse o menu Build
  • Então escolha a opção Generate Signed Bundle or APK

A partir dessa opção iremos criar um APK assinado, é possível criar um APK sem assinatura, porém, para que você consiga instalar em qualquer dispositivo Android, ou até mesmo publicar em lojas oficiais, a assinatura será necessária:

Janela Generate Signed Bundle or APK com duas opções: Android App Bundle e APK. Também, com os botões Cancel e Next.

Se o seu objetivo for apenas gerar um APK sem assinatura, você pode escolher a opção Build Bundle(s) / APK (s) > APK (s). O Android Studio vai gerar o APK em debug, é possível instalar o APK em dispositivos Android, mas nem todos permitirão, e também, esse APK não pode ser publicado na Google Play/Play Store ou outras lojas que exijam a assinatura. Caso você queira saber mais sobre a assinatura de APK, você pode consultar essa página da documentação.

Observe que existem duas opções, Android App Bundle ou APK, você pode escolher a APK e então clicar em Next:

Android App Bundle gera o arquivo conhecido como aab. Uma versão mais recente de APK focado nas lojas de Apps, como a Google Play. A ideia dele é gerar várias versões de APK otimizadas para baixar apenas o que é suficiente para cada dispositivo ou recurso utilizado. Você pode obter mais informações sobre esse formato nesta página da documentação.

Janela Generate Signed Bundle or APK com os campos: Module, Key store Path, Key store password, Key alias e Key password, botões Create New…, Choose existing…, Cancel, Previous e Next e um checkbox Remember passwords

Na próxima página, precisamos preencher os campos solicitados:

  • Module: Geralmente essa opção é marcada com o nome do projeto seguido do módulo app, por isso por padrão é Panucci.app, caso usar um outro projeto vai ser NomeDoProjeto.app.
  • Key Store path: o caminho da chave geralmente é preenchido quando você tem uma chave criada.

Dado que é a primeira vez, precisamos criar uma keystore.

Criando a keystore

Para criar a keystore você deve escolher a opção Create new…

Janela New Key Store com os campos Key Store path, Password e Confirm. Na seção Key apresenta os campos, Alias, Password, Confirm e Validity (years). Na Seção Certificate: First and Last Name, Organizational Unit, Organization, City or Locality, State or Province e Country Code (XX), e os botões Cancel e OK.

Note que vai abrir a janela New Key Store, uma outra janela que solicita diversos campos:

  • Key store path: local do seu computador para salvar a a keystore que será gerada
  • Password e Confirm: senha para usar a keystore. (Salve a senha em algum local seguro, pois não é possível alterá-la!)

Em seguida você precisa preencher as informações da chave:

  • Alias: nome de identificação da chave, vc pode colocar o valor que quiser
  • Password e Confirm: senha da chave. Você pode usar a mesma senha da chave keystore
  • Validity (years): validade em anos. Pode deixar o valor padrão de 25

As demais informações são dados pessoais e você pode inserir os seus. O resultado final fica assim:

Janela New Key Store com todos os campos preenchidos.

Então é só clicar em OK que voltamos para a tela anterior com o keystore preenchido:

Janela Generate Signed Bundle or APK com todos os campos preenchidos.

Observe que as informações Key store password, Key alias e Key password já foram preenchidas ao criar a Keystore. Então clicamos em Next:

Janela Generate Signed Bundle or APK com os campos Destination Folder e Build Variants, e com os botões Cancel Previous e Create.

Agora o Android Studio precisa saber qual build variant ele vai usar para gerar o APK, ao criar um projeto Android com o Android Studio, já são configuradas as variants de debug e release, sendo a debug a variante com configurações para desenvolvimento e a release para publicação, portanto, se a sua intenção é oferecer o App para outras pessoas, o ideal é usar a variante release.

Em seguida, vamos selecionar a release e clicar em Create. Nesse momento o Android Studio vai rodar scripts do Gradle para gerar o APK. Ao finalizar, ele vai apresentar a seguinte mensagem nas notificações:

Aba notifications com a notificação Generate Signed APK indicando a mensagem que o APK foi gerado com sucesso pelo módulo ‘Panucci.app.main’ e a build variant release. Então aparece o link ‘locate’ e o ‘analyze’ para o APK.

Note que a mensagem indica que um APK assinado foi gerado (Generate Signed APK) e oferece um link para acessar o arquivo dentro do computador a partir do locate. Ao clicar no link temos o seguinte resultado:

Explorer exibindo os arquivos app-release.apk e output-metadata.json.

O app-release.apk é o nosso App que pode ser executado, portanto, precisamos apenas hospedar esse arquivo em algum local onde as pessoas podem baixar e instalar.

Caso você gerasse o APK sem a assinatura, seria uma notificação similar, o título seria Build APK(s) e o nome do arquivo seria app-debug.apk.

Geralmente publicamos o nosso App em lojas oficiais, no caso do Android, a Google Play. Porém, publicar na Google Play tem uma série de detalhes e etapas que não vamos abordar nesse conteúdo, mas caso você tenha interesse, pode acompanhar a página da documentação.

Um detalhe importante é que para acessar a Play Console, página dedicada para devs que publicam Apps na Google Play, você vai precisar criar uma conta de Dev, e também, pagar uma taxa de registro de 25$ apenas uma vez considerando o momento que este artigo foi escrito. Para mais detalhes de uso da Play Store, acesse a página de suporte.

Dado que podemos armazenar em qualquer lugar acessível na internet, vou te mostrar como publicar o seu APK no GitHub e permitir que outras pessoas baixem.

Fazendo o upload o APK no GitHub

A partir de um repositório do GitHub, no meu caso do projeto Panucci, temos acesso a funcionalidade de releases. O objetivo dela é permitir publicar executáveis do projeto para outras pessoas utilizarem.

Para utilizá-la, é só clicar no link Create a new release caso seja a primeira vez do repositório:

Página inicial do repositírio do GitHub apontando um indicador para o link Create a new release.

Então é aberta a página para registrar um release:

Formulário de release com a opção Release marcada entre as opções Releases ou Tags. Opções em combobox: Choose a tag e Target. Campos de texto: release title e Describe this release e botão para anexar o arquivo binário.

Nessa página você vai precisar adicionar um título para o release que vai publicar, como também, uma descrição dele. Em seguida, precisa apenas enviar o arquivo binário onde está escrito Attach binaries by dropping them here or selecting them. Você pode arrastar o arquivo do seu diretório ou clicar para abrir o explorador de arquivo. Ao preencher tudo fica algo similar a isso:

Formulário de release preenchido.

Em seguida, você precisa indicar qual tag será utilizada para essa release, e também, qual branch, nesse caso eu vou criar uma tag chamada 0.0.1 e a branch vai ser a aula-5 (seria é onde está o código mais atualizado):

Formulário de release preenchido e com a tag 0.0.1 e target aula-5

Com tudo preenchido, é só clicar em Publish release e pronto! Você tem o seu App publicado!

Acessando releases do GitHub

O próximo passo é só compartilhar o link para baixar. Para isso, primeiro acesse a página de releases do seu repositório:

Página de release apresentando os links do release publicado e código fonte.

Ao criar a release, muito provavelmente você será direcionado para ela. Caso precisar acessá-la desde o zero, é só voltar para o repositório que vai aparecer o link no mesmo local onde criamos a primeira release:

Página do repositório apresentando o nome Panucci Latest no mesmo local onde estava o link Create a new release.

Então é só copiar o link onde está escrito apk-release.apk e pronto! Inclusive, você pode baixar o Panucci e testar no seu dispositivo Android. 😉

Conclusão

Neste artigo aprendemos como podemos gerar um executável (APK) para dispositivos Android utilizando o Android Studio. Também, vimos como podemos publicá-lo no GitHub para que outras pessoas consigam baixar.

Você é novo no mundo de desenvolvimento Android? Que tal aprender como criar o seu primeiro App desde o zero? Na formação de Android com Kotlin da Alura, você vai aprender desde os fundamentos do Android até às integrações com banco de dados, Web APIs e testes automatizados! E com isso, você vai criar um App bastante completo considerando as práticas do mercado.

Alex Felipe
Alex Felipe

Alex é instrutor e desenvolvedor e possui experiência em Java, Kotlin, Android. Atualmente cria conteúdo no canal https://www.youtube.com/@AlexFelipeDev.

Veja outros artigos sobre Mobile