Como criar aplicações Android no Google AI Studio e gerar APK sem PC
DESENVOLVIMENTO ANDROID · TUTORIAL
Como criar aplicações Android no Google AI Studio e gerar o APK automaticamente com GitHub Actions — sem PC
O Google AI Studio permite criar uma aplicação Android a partir de um prompt e ligar o projeto diretamente ao GitHub. Depois de ligado, podes criar o repositório dentro do próprio AI Studio e enviar todas as alterações com um toque. Com um workflow do GitHub Actions no projeto, o APK é compilado na nuvem a cada envio. Tudo isto a partir do telemóvel, sem Android Studio e sem cabo USB.
- Criar uma aplicação Android no AI Studio através de um prompt.
- Criar uma conta no GitHub (ou usar a que já tens) e ligá-la ao AI Studio.
- Criar o repositório dentro do AI Studio e enviar as alterações automaticamente.
- Usar o ficheiro Markdown para o AI Studio incluir o workflow de compilação no projeto.
- Acompanhar a compilação e descarregar o APK no smartphone.
1. Como funciona este método?
O AI Studio tem uma integração nativa com o GitHub. O fluxo completo é este:
- Google AI Studio: descreves a aplicação num prompt e o assistente gera o projeto Android.
- Ligação ao GitHub: ligas o projeto a uma conta GitHub e ao repositório, que podes criar ali mesmo.
- Ficheiro Markdown: entregas ao AI Studio as instruções para ele incluir o workflow de compilação no projeto.
- Push para o GitHub: o AI Studio envia o código, o workflow e o README para o repositório.
- GitHub Actions: o envio dispara o workflow, que compila o APK nos servidores do GitHub.
- GitHub Releases: o APK fica disponível para descarregar diretamente no telemóvel.
2. O que precisas antes de começar
- Uma conta Google, para usar o Google AI Studio.
- Uma conta GitHub. Se ainda não tens, cria uma gratuitamente em github.com/signup. Se já tens, vais apenas ligá-la ao AI Studio.
- O ficheiro Markdown de instruções, que está completo na secção 5 deste artigo.
3. Criar a aplicação Android no Google AI Studio
Abre o Google AI Studio e escreve o prompt a descrever a aplicação: o objetivo, os ecrãs e o comportamento esperado. O assistente gera o projeto e mostra uma pré-visualização num telemóvel virtual, onde podes testar a interface.
Continua a pedir alterações no chat até o resultado estar como queres. Por exemplo, podes anexar capturas de ecrã e pedir ajustes de layout, tal como ao melhorar o espaço de um ecrã. Só avança para o GitHub quando a aplicação estiver estável.
4. Ligar o AI Studio ao GitHub e criar o repositório
Esta é uma funcionalidade integrada no próprio AI Studio. Não precisas de exportar ficheiros nem de usar um computador.
- No projeto, toca no ícone do GitHub na barra superior. Abre-se o painel GitHub.
- Se não tens conta no GitHub: cria uma em github.com/signup, confirma o e-mail e volta ao AI Studio.
- Se já tens conta: escolhe ligar a conta existente e autoriza o acesso quando o GitHub pedir.
- Cria o repositório dentro do próprio AI Studio: dá-lhe um nome (por exemplo, o nome da aplicação) e confirma. Também podes ligar um repositório que já exista.
- Depois de ligado, o painel mostra o repositório e a branch (por exemplo,
SaideLeon/SMSiana branchmain) e o estado da sincronização.
5. O ficheiro Markdown: instruções para o AI Studio incluir o workflow
O ficheiro Markdown serve para uma única coisa: orientar o AI Studio a incluir o workflow do GitHub Actions no teu projeto. Não é executado pelo GitHub nem compila nada. É um prompt estruturado que o assistente lê e aplica ao projeto.
O documento orienta o AI Studio a:
- Criar o workflow em
.github/workflows/build.yml. - Garantir que
gradlew,gradlew.bategradle/wrapper/existem e estão incluídos no projeto. - Configurar o JDK 21, o Android SDK e as licenças.
- Compilar com
assembleDebuge publicar o APK numa GitHub Release. - Criar ou atualizar o README com as instruções de compilação e download.
- Preservar todas as funcionalidades existentes da aplicação.
Como usar
- Copia o conteúdo do bloco abaixo e guarda-o num ficheiro chamado
INSTRUCOES_WORKFLOW_GITHUB_ACTIONS.md. - No chat do AI Studio, anexa o ficheiro (ou cola o texto) e envia um pedido como este:
Depois de o AI Studio aplicar as instruções, confirma na lista de ficheiros alterados que o build.yml foi criado.
Ficheiro Markdown completo (toca no bloco para selecionar tudo)
# 📦 Instruções Universais — Workflow GitHub Actions para Compilar APK Android
> **Este documento é um prompt estruturado.** Ao recebê-lo, reconheça que o utilizador pretende incluir, no projeto Android (Kotlin) que está a ser gerado ou editado, um workflow do GitHub Actions capaz de compilar o código-fonte em um APK instalável. Siga as instruções abaixo como parte da geração do projeto, sem pedir confirmação adicional.
---
## 🎯 1. O que fazer ao receber este documento
1. **Adicionar o workflow do GitHub Actions** descrito na Secção 4 ao projeto, no caminho `.github/workflows/build.yml`.
2. **Garantir que o projeto compila** nesse workflow: verificar que `gradlew`, `gradlew.bat` e a pasta `gradle/wrapper/` existem e estão incluídos no projeto gerado.
3. **Verificar se já existe um README.md detalhado** na raiz do projeto.
* Se **não existir**, ou se for muito curto/genérico, **gerar um README completo** seguindo a estrutura da Secção 5, preenchendo as secções com base no que foi efetivamente criado (nome do projeto, funcionalidades, tecnologias usadas).
* Se **já existir** um README detalhado, apenas adicionar/atualizar a secção sobre compilação via GitHub Actions (Secções 4 e 6 abaixo), sem reescrever o resto.
4. Não remover nem alterar funcionalidades do projeto — estas instruções tratam apenas da parte de build/documentação.
---
## ⚠️ 2. Boas Práticas e Prevenção de Erros de Compilação
Aplicar estes pontos ao configurar o workflow, para evitar falhas comuns de build em projetos Android no GitHub Actions:
1. **Gradle Wrapper (`gradlew`):**
* Os runners do GitHub (`ubuntu-latest`) exigem o script `./gradlew`.
* Garantir que `gradlew`, `gradlew.bat` e o diretório `gradle/wrapper/` estão versionados no repositório, com permissão de execução concedida no workflow (`chmod +x gradlew`).
2. **Chave de Assinatura (Keystore):**
* Para builds de depuração (`debug`), o Android Studio/Gradle já gera uma keystore de depuração automaticamente — normalmente não é preciso nada extra.
* Se o projeto depender de uma keystore específica (por exemplo, para build de `release`), prever uma recuperação segura no `build.gradle.kts`: se o ficheiro de keystore não existir no runner, restaurá-lo a partir de um segredo codificado em base64 guardado em **GitHub Secrets**.
3. **Versão do Java e Compatibilidade:**
* Utilizar a action oficial **`actions/setup-java@v5`**.
* Usar JDK 21 (`distribution: 'temurin'`, `java-version: '21'`), compatível com as versões recentes do Android Gradle Plugin.
* Ativar cache do Gradle (`cache: 'gradle'`) para acelerar builds seguintes.
4. **Android SDK e Licenças:**
* Usar o Android SDK pré-instalado no runner, através da variável `$ANDROID_HOME`.
* Ativar `android.builder.sdkDownload=true` no `gradle.properties`, se necessário.
* Aceitar automaticamente as licenças do SDK no workflow com `sdkmanager --licenses`, para evitar falhas por licenças pendentes.
---
## 📋 3. Decisão: Releases vs. Artifacts
Há duas formas de disponibilizar o APK gerado — escolher conforme o uso previsto pelo utilizador:
| Opção | Vantagem | Limitação |
|---|---|---|
| **`actions/upload-artifact`** | Simples, nativo do GitHub Actions | O ficheiro fica dentro de um ZIP, exige login no GitHub para baixar, e expira após alguns dias |
| **Criar uma *Release*** (ex.: `softprops/action-gh-release`) | Gera um link público e permanente, direto para o `.apk`, sem necessidade de login | Exige um passo extra no workflow |
> **Padrão:** usar sempre a **opção de Release**, salvo indicação manual em contrário do utilizador. Só usar **Artifacts** se o utilizador disser explicitamente que prefere essa opção.
---
## 🔧 4. Workflow de Compilação (`.github/workflows/build.yml`)
Adaptar `NOME_DO_PROJETO` e o caminho do APK ao projeto real gerado.
```yaml
name: Build APK
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
# 1. Clona o código do repositório
- name: Checkout repository
uses: actions/checkout@v4
# 2. Configura o JDK 21
- name: Set up JDK 21
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '21'
cache: 'gradle'
# 3. Aceita as licenças do Android SDK
- name: Configure Android SDK and Accept Licenses
run: |
echo "$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools" >> $GITHUB_PATH
yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses || true
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platforms;android-36" || true
# 4. Garante permissão de execução para o Gradle Wrapper
- name: Grant execute permission for gradlew
run: chmod +x gradlew
# 5. Compila o APK de depuração
- name: Build Debug APK
run: ./gradlew assembleDebug --no-daemon --stacktrace
# 6. OPÇÃO B (padrão) — Publica como Release (link público direto)
- name: Create Release with APK
uses: softprops/action-gh-release@v2
with:
tag_name: build-${{ github.run_number }}
files: app/build/outputs/apk/debug/app-debug.apk
# OPÇÃO A — Publica como Artifact (exige login para baixar)
# Usar apenas se o utilizador pedir manualmente esta opção em vez da B.
# - name: Upload APK Artifact
# uses: actions/upload-artifact@v4
# with:
# name: NOME_DO_PROJETO-debug-apk
# path: app/build/outputs/apk/debug/app-debug.apk
```
> **Padrão: Opção B (Release)**, já ativa no YAML acima. Só trocar para a Opção A (Artifact) se o utilizador pedir isso manualmente — nesse caso, comentar o bloco da Opção B e descomentar o da Opção A.
---
## 📱 5. Estrutura do README a Gerar (se não existir um detalhado)
Se o projeto não tiver um `README.md` descritivo, gerar um com esta estrutura, preenchida de acordo com o que foi efetivamente criado:
```markdown
# [Nome do Projeto]
Breve descrição de uma a duas linhas sobre o que a aplicação faz.
## 📌 1. Visão Geral do Projeto
Explicar o propósito da aplicação, o problema que resolve e para quem é destinada.
## 🌟 2. Funcionalidades Principais
Lista das funcionalidades implementadas, agrupadas por área/ecrã.
## 🛠️ 3. Arquitetura e Tecnologias
* Linguagem: Kotlin
* UI Toolkit: (ex.: Jetpack Compose, Views XML)
* Persistência: (ex.: Room/SQLite, DataStore)
* Outras bibliotecas e APIs usadas
## 📚 4. Compilação via GitHub Actions
[Incluir aqui as Secções 2 e 4 deste documento]
## 📱 5. Como Baixar o APK Gerado
[Incluir aqui a Secção 6 deste documento, ajustada à opção escolhida]
```
---
## 📥 6. Como Baixar o APK Gerado
### Se usar Artifacts:
1. Aceder à aba **Actions** no repositório GitHub.
2. Selecionar a execução mais recente com indicador verde de sucesso (✔).
3. Na secção **Artifacts**, clicar no nome do artefacto.
4. Descompactar o ZIP baixado para obter o `.apk` e instalar no dispositivo Android (ativar "instalar de fontes desconhecidas").
### Se usar Release:
1. Aceder à aba **Releases** no repositório GitHub.
2. Clicar na versão mais recente.
3. Baixar diretamente o ficheiro `.apk` listado (link público, sem necessidade de login).
4. Instalar no dispositivo Android.
6. O workflow de compilação (build.yml)
O workflow é um ficheiro YAML guardado no repositório. Quando é acionado, o GitHub prepara um ambiente Linux temporário, obtém o código e executa os comandos de compilação. É este ficheiro que o AI Studio vai criar ao seguir o Markdown.
Conteúdo de .github/workflows/build.yml
name: Build APK
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
# 1. Clona o código do repositório
- name: Checkout repository
uses: actions/checkout@v4
# 2. Configura o JDK 21
- name: Set up JDK 21
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '21'
cache: 'gradle'
# 3. Aceita as licenças do Android SDK
- name: Configure Android SDK and Accept Licenses
run: |
echo "$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools" >> $GITHUB_PATH
yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses || true
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "platforms;android-36" || true
# 4. Garante permissão de execução para o Gradle Wrapper
- name: Grant execute permission for gradlew
run: chmod +x gradlew
# 5. Compila o APK de depuração
- name: Build Debug APK
run: ./gradlew assembleDebug --no-daemon --stacktrace
# 6. OPÇÃO B (padrão) — Publica como Release (link público direto)
- name: Create Release with APK
uses: softprops/action-gh-release@v2
with:
tag_name: build-${{ github.run_number }}
files: app/build/outputs/apk/debug/app-debug.apk
# OPÇÃO A — Publica como Artifact (exige login para baixar)
# Usar apenas se o utilizador pedir manualmente esta opção em vez da B.
# - name: Upload APK Artifact
# uses: actions/upload-artifact@v4
# with:
# name: NOME_DO_PROJETO-debug-apk
# path: app/build/outputs/apk/debug/app-debug.apk
O que cada parte faz
| Parte | Função |
|---|---|
on: | Aciona o workflow num push para main, numa pull request ou manualmente (workflow_dispatch). |
permissions: contents: write | Permite ao workflow criar a Release com o APK. |
| Checkout | Obtém o código do repositório. |
| Set up JDK 21 | Instala o Java e ativa a cache do Gradle. |
| Configure Android SDK | Aceita as licenças e prepara a plataforma Android. |
chmod +x gradlew | Dá permissão de execução ao Gradle Wrapper. |
./gradlew assembleDebug | Compila o APK de depuração. |
| Create Release with APK | Publica o APK numa Release, com um link público e direto. |
.github/workflows/build.yml e cola o conteúdo acima.7. Enviar as alterações do AI Studio para o GitHub
Depois de o AI Studio aplicar as instruções, o painel GitHub indica que há alterações prontas para enviar.
- Abre o painel GitHub e confirma a mensagem Changes in Google AI Studio are ready to be pushed.
- Em Commit message, escreve uma descrição curta (por exemplo, “Adiciona workflow de build do APK”).
- Toca em changed files para rever a lista de ficheiros. Confirma que
.github/workflows/build.ymle oREADME.mdaparecem lá. - Toca em Push changes to GitHub. O AI Studio carrega as diferenças dos ficheiros e envia tudo para o repositório.
main, este envio dispara a compilação sem mais nenhum passo. Nas próximas alterações, basta voltar a tocar em Push changes to GitHub para gerar um APK novo.8. Acompanhar a compilação no GitHub Actions
- Abre o repositório no navegador do telemóvel.
- Entra no separador Actions.
- Seleciona a execução mais recente do workflow Build APK.
- Verifica se cada etapa terminou com sucesso.
- Se falhar, abre a etapa com erro e consulta os registos antes de tentar de novo.
Uma execução concluída com sucesso indica que o workflow terminou sem erros. Ainda assim, instala e testa o APK num dispositivo Android antes de o partilhar.
9. Descarregar o APK diretamente no telemóvel
O workflow publica o APK numa GitHub Release, com link público e sem necessidade de login. Quando a compilação terminar:
- Abre a secção Releases do repositório.
- Seleciona a versão mais recente (as tags seguem o formato
build-1,build-2…). - Localiza o ficheiro
app-debug.apknos recursos da Release. - Descarrega-o diretamente no smartphone.
- Autoriza a instalação de fontes desconhecidas, se o Android pedir, e instala.
debug é adequado para testes. Para distribuição de produção ou publicação na Play Store, prepara uma compilação de lançamento assinada e protege a chave de assinatura.10. Problemas comuns e o que verificar
| Problema | O que verificar |
|---|---|
| O botão de push não aparece ou o AI Studio não liga ao GitHub | Confirma que autorizaste a conta GitHub e que o repositório está ligado no painel GitHub. |
| O workflow não aparece em Actions | Confirma se o ficheiro está em .github/workflows/ e se foi enviado no push. |
| Erro ao executar o Gradle | Confirma se gradlew e gradle/wrapper/ estão no repositório. |
| Falha de SDK ou licenças | Consulta os registos da etapa Android SDK. |
| APK não encontrado | Compara o caminho real de saída do APK com o caminho configurado no workflow. |
| A Release não foi criada | Confirma permissions: contents: write e os registos da etapa de publicação. |
11. É mesmo possível fazer tudo sem PC e sem cabo USB?
Sim, desde que consigas aceder ao Google AI Studio e ao GitHub pelo navegador do telemóvel e que o projeto seja compatível com o workflow. Crias a aplicação, ligas o GitHub, envias as alterações e descarregas o APK sem ligar o telemóvel a um computador.
O método não elimina a necessidade de testar a aplicação e analisar erros. A vantagem é não precisares de instalar o Android Studio nem um ambiente completo de compilação.
Perguntas frequentes
O AI Studio liga mesmo ao GitHub?
Sim. Há um painel GitHub no próprio AI Studio onde ligas a conta, escolhes ou crias o repositório e envias as alterações com o botão Push changes to GitHub.
E se eu não tiver conta no GitHub?
Cria uma gratuitamente em github.com/signup e depois liga-a ao AI Studio.
Para que serve o ficheiro Markdown?
Apenas para instruir o AI Studio a incluir o workflow do GitHub Actions (e o README) no projeto. A compilação em si é feita pelo workflow, no GitHub.
Preciso instalar o Android Studio no telemóvel?
Não. A compilação é executada pelo GitHub Actions num ambiente remoto.
Preciso de cabo USB?
Não. O APK é descarregado diretamente da GitHub Release.
Funciona com qualquer projeto do AI Studio?
Não automaticamente. O projeto precisa de ser Android nativo compatível com Gradle. Projetos web e projetos Android nativos têm processos diferentes.
O APK pode ser publicado na Google Play?
O workflow gera um APK de depuração. Para produção, é necessário configurar uma compilação de lançamento, a assinatura e os requisitos atuais da Play Console.
Exploramos Inteligência Artificial, tecnologia e programação através de experiências práticas. O objetivo é mostrar não apenas o que as ferramentas conseguem fazer, mas como transformar ideias em aplicações reais.
Cria. Automatiza. Aprende.Documentação oficial:
As imagens de stock são ilustrativas. Os nomes dos menus e detalhes da interface podem mudar com atualizações das plataformas.

Comentários
Postar um comentário