Personalização Nativa de Ícones & Splash Screens
Insira a identidade visual profissional no seu projeto Capacitor. Automatize a geração de dezenas de resoluções exigidas pelo Android (mipmap-mdpi até xxxhdpi) utilizando a ferramenta oficial @capacitor/assets.
O Fluxo "Single Source of Truth" (Fonte Única da Verdade)
Pasta Fonte
Criar /assets com icon.png e splash.png
Instalação CLI
npm i @capacitor/assets --save-dev
Geração Nativa
npx capacitor-assets generate
Sync & Deploy
npx cap sync android
Estruturação da Pasta Assets
Criação dos 2 arquivos fonte na raiz do projeto React/Capacitor
Na raiz do seu projeto (mesmo nível do package.json), crie o diretório assets/ com os nomes e dimensões exatas:
Especificações de Design Nativo:
- Ícone (`icon.png`): $1024 \times 1024\text{px}$. Fundo preenchido com cor sólida opaca. Não faça cantos arredondados manualmente; o SO aplica a máscara.
- Splash (`splash.png`): $2732 \times 2732\text{px}$. Fundo sólido com o logotipo posicionado na Safe Zone Central (~1200px) para evitar cortes em telas compridas.
Instalação do Motor Gerador `@capacitor/assets`
Adicionando a ferramenta oficial de automação visual via NPM
Execute o comando abaixo no terminal da raiz do seu projeto para instalar o pacote como dependência de desenvolvimento:
npm install @capacitor/assets --save-dev
Configuração do Arquivo `capacitor.config.ts`
Definindo comportamentos da Splash Screen e do plugin nativo
Garanta que as propriedades do plugin de Splash Screen estejam devidamente declaradas no seu arquivo de configuração:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.senai.meuapp',
appName: 'MeuAppProfissional',
webDir: 'dist',
plugins: {
SplashScreen: {
launchShowDuration: 2000,
launchAutoHide: true,
backgroundColor: "#0f0f11",
androidSplashResourceName: "splash",
androidScaleType: "CENTER_CROP",
showSpinner: false,
},
},
};
export default config;
Execução da Geração Automática das Resoluções
Criação de mipmaps, adaptive icons e telas de splash para o Android
Rode a CLI para processar a pasta /assets e injetar os recursos nas pastas nativas do Android:
npx capacitor-assets generate --android
Arquivos gerados automaticamente em `android/app/src/main/res/`:
Sincronização & Build para Dispositivo Físico
Transferindo assets para o projeto nativo e testando no Smartphone
Sincronize as alterações do projeto e execute a compilação do APK:
# 1. Copia o bundle web e sincroniza os plugins nativos
npx cap sync android
# 2. Abre o projeto no Android Studio para rodar no celular via USB
npx cap open android
Automação CI/CD no GitHub Actions (Build da APK na Nuvem)
Geração automática do arquivo APK de depuração a cada commit nas branches main ou master
Crie o arquivo no caminho .github/workflows/android-build.yml no seu repositório para compilar o APK automaticamente na nuvem sem depender do Android Studio local:
name: Construir APK Android (Capacitor)
on:
push:
branches:
- main
- master
workflow_dispatch:
jobs:
build:
name: Gerar APK de Depuracao (Debug)
runs-on: ubuntu-latest
steps:
- name: 📥 Clonar Repositorio
uses: actions/checkout@v4
- name: 🟢 Configurar Node.js
uses: actions/setup-node@v4
with:
node-version: 22
- name: 📦 Instalar Dependencias
run: npm install
- name: ☕ Configurar Java JDK 21
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: 🔄 Sincronizar Capacitor com Android
run: npx cap sync android
- name: 🔑 Permissao de Execucao do Gradle
run: chmod +x android/gradlew
- name: 🔨 Compilar APK com Gradle
run: |
cd android
./gradlew assembleDebug
- name: 📤 Publicar APK para Download
uses: actions/upload-artifact@v4
with:
name: meu-aplicativo-apk
path: android/app/build/outputs/apk/debug/app-debug.apk
Como baixar o APK gerado no GitHub Actions:
- Faça o git push do seu código com a pasta
.github/workflows/android-build.yml. - Acesse a aba Actions no topo do seu repositório no GitHub.
- Clique no workflow da compilação executada.
- Assim que o status ficar verde (Success), role até a seção Artifacts no rodapé da página e faça o download do arquivo
meu-aplicativo-apkpara obter a APK de teste!