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.

O objetivo é criar, compilar e obter o APK usando apenas ferramentas online.
O que vais aprender:
  • 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:

  1. Google AI Studio: descreves a aplicação num prompt e o assistente gera o projeto Android.
  2. Ligação ao GitHub: ligas o projeto a uma conta GitHub e ao repositório, que podes criar ali mesmo.
  3. Ficheiro Markdown: entregas ao AI Studio as instruções para ele incluir o workflow de compilação no projeto.
  4. Push para o GitHub: o AI Studio envia o código, o workflow e o README para o repositório.
  5. GitHub Actions: o envio dispara o workflow, que compila o APK nos servidores do GitHub.
  6. GitHub Releases: o APK fica disponível para descarregar diretamente no telemóvel.
Pessoa a utilizar um smartphone
O telemóvel serve para gerir o projeto, acompanhar a compilação e instalar o APK.

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.
Importante: este método destina-se a projetos Android nativos em Kotlin, compiláveis com Gradle. Não é o processo de empacotar uma aplicação web com Capacitor. Confirma que o projeto gerado contém o Gradle Wrapper e os ficheiros de configuração Android necessários.

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.

Barra superior do AI Studio com o ícone do GitHub
No topo do AI Studio, ao lado de Share e Publish, está o ícone do GitHub.
  1. No projeto, toca no ícone do GitHub na barra superior. Abre-se o painel GitHub.
  2. Se não tens conta no GitHub: cria uma em github.com/signup, confirma o e-mail e volta ao AI Studio.
  3. Se já tens conta: escolhe ligar a conta existente e autoriza o acesso quando o GitHub pedir.
  4. 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.
  5. Depois de ligado, o painel mostra o repositório e a branch (por exemplo, SaideLeon/SMSia na branch main) e o estado da sincronização.
O que isto te dá: a partir daqui, todas as alterações feitas no AI Studio podem ser enviadas para o GitHub automaticamente, sem copiar código à mã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.bat e gradle/wrapper/ existem e estão incluídos no projeto.
  • Configurar o JDK 21, o Android SDK e as licenças.
  • Compilar com assembleDebug e 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

  1. Copia o conteúdo do bloco abaixo e guarda-o num ficheiro chamado INSTRUCOES_WORKFLOW_GITHUB_ACTIONS.md.
  2. No chat do AI Studio, anexa o ficheiro (ou cola o texto) e envia um pedido como este:
Segue as instruções do documento anexo: adiciona o workflow do GitHub Actions em .github/workflows/build.yml, garante que o Gradle Wrapper está no projeto e cria ou atualiza o README. Não alteres as funcionalidades da aplicação.

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

ParteFunção
on:Aciona o workflow num push para main, numa pull request ou manualmente (workflow_dispatch).
permissions: contents: writePermite ao workflow criar a Release com o APK.
CheckoutObtém o código do repositório.
Set up JDK 21Instala o Java e ativa a cache do Gradle.
Configure Android SDKAceita as licenças e prepara a plataforma Android.
chmod +x gradlewDá permissão de execução ao Gradle Wrapper.
./gradlew assembleDebugCompila o APK de depuração.
Create Release with APKPublica o APK numa Release, com um link público e direto.
Alternativa: se o AI Studio não criar o ficheiro, podes adicioná-lo manualmente no GitHub, pelo navegador do telemóvel. No repositório, usa Add file → Create new file, escreve o caminho .github/workflows/build.yml e cola o conteúdo acima.
Código de programação num ecrã
O GitHub Actions executa as etapas definidas no workflow.

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.

Painel GitHub sync do AI Studio com o botão Push changes to GitHub
O painel mostra o repositório, o estado da sincronização, a mensagem de commit e os ficheiros alterados.
  1. Abre o painel GitHub e confirma a mensagem Changes in Google AI Studio are ready to be pushed.
  2. Em Commit message, escreve uma descrição curta (por exemplo, “Adiciona workflow de build do APK”).
  3. Toca em changed files para rever a lista de ficheiros. Confirma que .github/workflows/build.yml e o README.md aparecem lá.
  4. Toca em Push changes to GitHub. O AI Studio carrega as diferenças dos ficheiros e envia tudo para o repositório.
AI Studio a carregar as diferenças dos ficheiros antes do push
O AI Studio carrega as diferenças dos ficheiros antes de enviar.
Compilação automática: como o workflow está configurado para correr em cada push para 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

  1. Abre o repositório no navegador do telemóvel.
  2. Entra no separador Actions.
  3. Seleciona a execução mais recente do workflow Build APK.
  4. Verifica se cada etapa terminou com sucesso.
  5. 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:

  1. Abre a secção Releases do repositório.
  2. Seleciona a versão mais recente (as tags seguem o formato build-1, build-2…).
  3. Localiza o ficheiro app-debug.apk nos recursos da Release.
  4. Descarrega-o diretamente no smartphone.
  5. Autoriza a instalação de fontes desconhecidas, se o Android pedir, e instala.
Segurança: instala apenas APKs de fontes em que confias. Um APK 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

ProblemaO que verificar
O botão de push não aparece ou o AI Studio não liga ao GitHubConfirma que autorizaste a conta GitHub e que o repositório está ligado no painel GitHub.
O workflow não aparece em ActionsConfirma se o ficheiro está em .github/workflows/ e se foi enviado no push.
Erro ao executar o GradleConfirma se gradlew e gradle/wrapper/ estão no repositório.
Falha de SDK ou licençasConsulta os registos da etapa Android SDK.
APK não encontradoCompara o caminho real de saída do APK com o caminho configurado no workflow.
A Release não foi criadaConfirma 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.

ARTIFICIALIZADO

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