diff --git a/.github/workflows/somente-android.yml b/.github/workflows/somente-android.yml
new file mode 100644
index 0000000..1a6d8de
--- /dev/null
+++ b/.github/workflows/somente-android.yml
@@ -0,0 +1,33 @@
+name: SOMENTE Android
+
+on:
+ push:
+ paths: ["SomenteAndroid/**", ".github/workflows/somente-android.yml"]
+ pull_request:
+ paths: ["SomenteAndroid/**", ".github/workflows/somente-android.yml"]
+
+permissions:
+ contents: read
+
+concurrency:
+ group: somente-android-${{ github.ref }}
+ cancel-in-progress: true
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+ timeout-minutes: 20
+ defaults:
+ run:
+ working-directory: SomenteAndroid
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: temurin
+ java-version: "17"
+ - uses: gradle/actions/setup-gradle@v4
+ with:
+ gradle-version: "8.14.3"
+ - name: Test, lint and assemble debug APK
+ run: gradle --no-daemon testDebugUnitTest lintDebug assembleDebug --stacktrace
diff --git a/SomenteAndroid/PLAY_STORE.md b/SomenteAndroid/PLAY_STORE.md
new file mode 100644
index 0000000..4317404
--- /dev/null
+++ b/SomenteAndroid/PLAY_STORE.md
@@ -0,0 +1,26 @@
+# Preparação para Google Play
+
+## Nome
+
+SOMENTE — ouvir, ler e criar música
+
+## Descrição curta
+
+Treino auditivo, pauta sincronizada e criação de exercícios musicais.
+
+## Descrição completa
+
+SOMENTE une som e mente em três experiências simples para iniciantes de qualquer idade. Ouça uma nota e tente reconhecê-la; acompanhe pequenas sequências na pauta enquanto elas tocam; ou crie um exercício de até 16 notas para estudar e usar em aula.
+
+Não é necessário saber ler partitura nem possuir instrumento. O aplicativo funciona offline, sem conta e sem anúncios. O progresso e o exercício criado ficam somente no aparelho.
+
+## Checklist antes de enviar
+
+- [ ] confirmar disponibilidade do nome e do pacote;
+- [ ] gerar chave de upload e AAB assinado;
+- [ ] identificar o responsável e publicar a política de privacidade;
+- [ ] declarar corretamente público-alvo e segurança de dados;
+- [ ] criar ícone 512 × 512, feature graphic 1024 × 500 e capturas;
+- [ ] testar em telefone e tablet, com TalkBack e tamanhos de fonte maiores;
+- [ ] concluir classificação indicativa e teste fechado;
+- [ ] corrigir o relatório de pré-lançamento.
diff --git a/SomenteAndroid/PRIVACY.md b/SomenteAndroid/PRIVACY.md
new file mode 100644
index 0000000..310e67f
--- /dev/null
+++ b/SomenteAndroid/PRIVACY.md
@@ -0,0 +1,9 @@
+# Política de Privacidade — SOMENTE v0.1
+
+Última atualização: 26 de agosto de 2026.
+
+O SOMENTE v0.1 funciona sem conta e sem conexão com a internet. Não contém publicidade nem ferramentas de análise e não solicita acesso ao microfone, câmera, contatos, localização, identificador de anúncios ou arquivos pessoais.
+
+O aplicativo armazena no próprio aparelho apenas a contagem de respostas corretas e uma sequência musical criada pelo usuário. Esses dados não são enviados ao desenvolvedor e podem ser apagados ao limpar os dados do aplicativo ou desinstalá-lo.
+
+Antes de publicação pública, esta política deverá incluir a identificação e o contato do responsável pelo aplicativo e corresponder exatamente ao pacote distribuído.
diff --git a/SomenteAndroid/README.md b/SomenteAndroid/README.md
new file mode 100644
index 0000000..940611e
--- /dev/null
+++ b/SomenteAndroid/README.md
@@ -0,0 +1,36 @@
+# SOMENTE Android
+
+**SOMENTE** (som + mente) é um laboratório pedagógico gratuito para iniciantes de qualquer idade. A experiência reúne escuta, leitura e criação sem exigir conta, internet, anúncios, microfone ou conhecimento prévio de partitura.
+
+## Três modos de aula
+
+1. **Escutar e reconhecer** — o estudante ouve uma nota, escolhe seu nome e vê a resposta na pauta.
+2. **Ler e ouvir** — uma sequência curta é reproduzida enquanto a nota atual é destacada.
+3. **Criar exercício** — professor ou estudante monta até 16 notas, ouve o resultado e salva a atividade localmente.
+
+O desenho se inspira na clareza de aplicativos de partitura para Android, mas segue uma progressão própria: ouvir → reconhecer → visualizar → criar. Os exemplos são originais e não incluem repertório protegido.
+
+## Executar
+
+Abra a pasta `SomenteAndroid` no Android Studio, aguarde a sincronização do Gradle e execute o módulo `app` em Android 8.0 ou superior. Na linha de comando, com Gradle 8.14.3 instalado:
+
+```bash
+gradle testDebugUnitTest lintDebug assembleDebug
+```
+
+O pacote é `br.com.sidineyr.somente`, com alvo Android 16/API 36 e versão `0.1.0`.
+
+## Uso responsável
+
+- use volume confortável, especialmente com fones;
+- o nome das notas segue a nomenclatura em português;
+- o exercício salvo permanece apenas neste aparelho;
+- valide contraste, tamanhos de toque e TalkBack em aparelho real antes de publicar.
+
+## Limites da v0.1
+
+O MVP usa ondas senoidais e valores rítmicos iguais. Compassos, figuras rítmicas, claves adicionais, transposição e exportação ficam para versões posteriores. Antes da Google Play ainda são necessários ícone, capturas, AAB assinado e teste fechado.
+
+## Próximo passo de revisão
+
+Use [`RELEASE_CHECKLIST.md`](RELEASE_CHECKLIST.md) para validar primeiro o PR em CI, telefone, tablet, TalkBack e fonte ampliada. Os itens de Play Console e identidade visual estão separados porque não bloqueiam a revisão do código e não devem ser tratados como autorização para publicar.
diff --git a/SomenteAndroid/RELEASE_CHECKLIST.md b/SomenteAndroid/RELEASE_CHECKLIST.md
new file mode 100644
index 0000000..0cf3503
--- /dev/null
+++ b/SomenteAndroid/RELEASE_CHECKLIST.md
@@ -0,0 +1,33 @@
+# Checklist de revisão — SOMENTE Android v0.1
+
+Este checklist separa o que bloqueia a revisão do código do que será necessário apenas antes de uma futura publicação. Marque um item somente quando houver evidência reproduzível.
+
+## 1. Pronto para solicitar revisão do PR
+
+- [ ] O workflow **SOMENTE Android** conclui em verde no commit mais recente.
+- [ ] `testDebugUnitTest`, `lintDebug` e `assembleDebug` passam no GitHub Actions.
+- [ ] O APK de depuração instala e abre em um telefone Android 8.0 ou superior.
+- [ ] Os três fluxos funcionam no telefone: reconhecer, ler/acompanhar e criar/salvar exercício.
+- [ ] O mesmo roteiro é concluído em um tablet, sem conteúdo cortado ou controles inacessíveis.
+- [ ] Com TalkBack, todos os controles têm nome compreensível e a ordem de foco permite concluir os três fluxos.
+- [ ] Com o maior tamanho de fonte do sistema, o texto permanece legível e os botões continuam utilizáveis.
+- [ ] Resultados, aparelho/versão do Android e problemas encontrados estão registrados no PR.
+
+Quando todos os itens desta seção estiverem concluídos, o PR pode sair de rascunho e receber revisão. Isso ainda não autoriza merge nem publicação.
+
+## 2. Somente antes de um teste fechado futuro
+
+- [ ] Confirmar o nome **SOMENTE** e o pacote `br.com.sidineyr.somente`.
+- [ ] Definir responsável e contato público na política de privacidade.
+- [ ] Criar o ícone 512 × 512, a imagem de destaque 1024 × 500 e capturas de telefone/tablet.
+- [ ] Criar e guardar com segurança a chave de upload.
+- [ ] Gerar o AAB assinado e testá-lo localmente.
+- [ ] Preencher público-alvo, segurança de dados, classificação indicativa e demais campos do Play Console.
+- [ ] Executar um teste fechado e corrigir o relatório de pré-lançamento.
+
+## Registro mínimo dos testes manuais
+
+| Ambiente | Versão Android | Tela/fonte | TalkBack | Três fluxos | Resultado/observações |
+|---|---|---|---|---|---|
+| Telefone | | Padrão e máxima | Ligado/desligado | | |
+| Tablet | | Padrão e máxima | Ligado/desligado | | |
diff --git a/SomenteAndroid/app/build.gradle.kts b/SomenteAndroid/app/build.gradle.kts
new file mode 100644
index 0000000..dfe9917
--- /dev/null
+++ b/SomenteAndroid/app/build.gradle.kts
@@ -0,0 +1,37 @@
+plugins {
+ id("com.android.application")
+ id("org.jetbrains.kotlin.android")
+}
+
+android {
+ namespace = "br.com.sidineyr.somente"
+ compileSdk = 36
+
+ defaultConfig {
+ applicationId = "br.com.sidineyr.somente"
+ minSdk = 26
+ targetSdk = 36
+ versionCode = 1
+ versionName = "0.1.0"
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = true
+ proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
+ kotlinOptions { jvmTarget = "17" }
+}
+
+dependencies {
+ implementation("androidx.core:core-ktx:1.16.0")
+ implementation("androidx.appcompat:appcompat:1.7.1")
+ implementation("com.google.android.material:material:1.12.0")
+ testImplementation("junit:junit:4.13.2")
+}
diff --git a/SomenteAndroid/app/proguard-rules.pro b/SomenteAndroid/app/proguard-rules.pro
new file mode 100644
index 0000000..547d2eb
--- /dev/null
+++ b/SomenteAndroid/app/proguard-rules.pro
@@ -0,0 +1 @@
+# Rules are intentionally minimal; Google Mobile Ads publishes consumer rules.
diff --git a/SomenteAndroid/app/src/main/AndroidManifest.xml b/SomenteAndroid/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..9f5de96
--- /dev/null
+++ b/SomenteAndroid/app/src/main/AndroidManifest.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/SomenteAndroid/app/src/main/java/br/com/sidineyr/somente/MainActivity.kt b/SomenteAndroid/app/src/main/java/br/com/sidineyr/somente/MainActivity.kt
new file mode 100644
index 0000000..a19be76
--- /dev/null
+++ b/SomenteAndroid/app/src/main/java/br/com/sidineyr/somente/MainActivity.kt
@@ -0,0 +1,155 @@
+package br.com.sidineyr.somente
+
+import android.graphics.Color
+import android.os.Bundle
+import android.view.Gravity
+import android.view.View
+import android.widget.Button
+import android.widget.LinearLayout
+import android.widget.ScrollView
+import android.widget.TextView
+import androidx.appcompat.app.AppCompatActivity
+import kotlin.random.Random
+
+class MainActivity : AppCompatActivity() {
+ private val player = TonePlayer()
+ private lateinit var root: LinearLayout
+ private val prefs by lazy { getSharedPreferences("somente", MODE_PRIVATE) }
+ private var answerButtons = mutableListOf