SDK Platform: o que é, versões e Android SDK Manager

Autor: IT Sectr Publicado: 2026-02-09 Tempo de leitura: 11 min

Android SDK Platform é um conjunto de bibliotecas, imagens do sistema e ferramentas para uma versão específica do sistema operacional. Cada plataforma está vinculada ao seu API Level e inclui android.jar com as classes da Android API, componentes de runtime e um emulador. De acordo com Google Developer Documentation, 2026, os desenvolvedores usam o SDK Platform para compilar código contra a versão alvo do SO. Sem uma plataforma instalada, é impossível compilar um APK ou executar o aplicativo no emulador. SDK Manager gerencia o download, atualização e remoção desses componentes.

Pontos principais

  • SDK Platform — um conjunto de bibliotecas e ferramentas para uma versão do Android correspondente a um API Level específico.
  • API Level — um identificador numérico da versão do Android SDK que define as classes e métodos disponíveis.
  • SDK Manager — uma ferramenta para instalar, atualizar e remover SDK Platform, Tools e imagens do sistema.
  • compileSdk — a versão do SDK Platform usada para compilar o aplicativo, deve ser a mais recente estável.
  • targetSdk — o API Level no qual o aplicativo foi testado e para o qual o comportamento do runtime é otimizado.

O que é SDK Platform

SDK Platform é um componente fundamental do Android SDK, representando um conjunto completo de bibliotecas e ferramentas para desenvolver aplicativos para uma versão específica do Android. Cada plataforma é identificada pelo seu API Level — um número inteiro que aumenta com novas versões do SO. Por exemplo, Android 13 corresponde ao API Level 33, Android 14 ao API Level 34, Android 15 ao API Level 35.

Ao contrário do Android Studio (IDE), o SDK Platform não contém editor de código ou depurador. É uma camada do sistema que se conecta ao compilador e ao sistema de compilação. Quando um desenvolvedor escreve import android.app.Activity, o compilador pega esta classe do android.jar de um SDK Platform específico. Sem uma plataforma instalada com o API Level necessário, o código não será compilado.

Google lança um novo SDK Platform para cada versão estável do Android. O histórico inclui mais de 35 API Levels — do Android 1.0 (API 1) ao Android 15 (API 35). Cada plataforma é retroativa: código escrito para API Level 21 funcionará no API Level 35, mas não o contrário.

Por que um SDK Platform separado é necessário para cada versão

O Android evolui rapidamente: cada versão adiciona novas APIs, altera o comportamento das existentes e introduz restrições. Por exemplo, Android 10 (API 29) introduziu Scoped Storage, Android 12 (API 31) — SplashScreen API, Android 14 (API 34) — flags obrigatórias de BroadcastReceiver. O desenvolvedor deve compilar o aplicativo contra a plataforma atual para usar esses recursos.

Ao mesmo tempo, o aplicativo pode ser executado em versões antigas do SO. Para isso, no Gradle é especificado o minSdk — o API Level mínimo no qual o aplicativo é executado. O código usa verificações de versão e chamadas condicionais de API. Esta abordagem garante compatibilidade sem perder novos recursos.

Versão do AndroidAPI LevelNome de códigoAno de lançamento
Android 1231Snow Cone2021
Android 1333Tiramisu2022
Android 1434Upside Down Cake2023
Android 1535Vanilla Ice Cream2024

Composição do SDK Platform: componentes principais

O SDK Platform não é um arquivo único, mas um conjunto de componentes que juntos garantem a compilação, construção e teste do aplicativo. O elemento principal é android.jar — um arquivo com as classes da Android API incluídas nesta versão. Este arquivo se conecta ao compilador Kotlin ou Java e determina quais classes, métodos e anotações estão disponíveis para o desenvolvedor.

Imagens do sistema e emulador

Cada SDK Platform inclui uma System Image — uma imagem do sistema operacional para o emulador Android Virtual Device. Sem a imagem correspondente, o emulador não pode iniciar um dispositivo virtual com o API Level necessário. As System Images são de diferentes tipos: Google APIs (com serviços do Google), Google Play (com Play Store) e AOSP (Android puro sem serviços do Google).

Ferramentas de compilação e depuração

O SDK Platform inclui uma versão do Build-Tools e Platform-Tools otimizada para este API Level. Build-Tools contém aapt2 (Android Asset Packaging Tool), dx/d8 (compilador Dalvik/ART) e ApkSigner. Platform-Tools fornece ADB (Android Debug Bridge), fastboot e SQLite. Estas ferramentas são atualizadas independentemente do SDK Platform através do SDK Manager.

Recursos da plataforma

Cada plataforma inclui recursos padrão do Android — temas do sistema, estilos, animações, cores e dimensões. Estes recursos são usados durante a compilação: se um desenvolvedor faz referência a @android:style/Theme.Material.Light, o sistema de compilação pega a definição dos recursos do SDK Platform. Isto garante uma aparência uniforme dos componentes do sistema em todos os dispositivos.

ComponenteDescriçãoTamanho (aproximado)
android.jarBibliotecas da Android API para compilação50–120 MB
System ImageImagem do SO para emulador600–1500 MB
Build-ToolsFerramentas de compilação APK e AAB200–400 MB
Platform ResourcesRecursos do sistema (temas, estilos)30–80 MB
SkinsPerfis de dispositivo para emulador10–50 MB

API Level e versões do SDK Platform

API Level é um identificador inteiro da versão do Android SDK. Cada lançamento do Android corresponde a um API Level que aumenta monotonicamente. O desenvolvedor especifica o API Level em três parâmetros chave do build.gradle: compileSdk, minSdk e targetSdk. A escolha destes parâmetros determina quais APIs estão disponíveis e como o sistema lida com o aplicativo.

Google recomenda manter o minSdk num nível não inferior ao limite de distribuição atual — de acordo com Android Studio Distribution Dashboard (2026), cerca de 95% dos dispositivos executam Android 8.0 (API 26) e superior. compileSdk deve ser o último estável — isto dá acesso a novas APIs e permite que as verificações lint detectem métodos obsoletos.

Evolução do API Level: mudanças chave

A cada novo API Level, Google introduz mudanças significativas. Android 6.0 (API 23) adicionou permissões em tempo de execução — o aplicativo solicita permissões durante a execução, não na instalação. Android 8.0 (API 26) introduziu preenchimento automático de formulários e canais de notificação. Android 12 (API 31) mudou radicalmente a abordagem dos intents — surgiu SplashScreen API e exportação de componentes através do atributo exported. Android 14 (API 34) tornou obrigatório especificar flags para BroadcastReceiver e introduziu restrições rigorosas em serviços em primeiro plano.

Compreender a história dos API Levels ajuda o desenvolvedor a escolher a estratégia de compatibilidade correta. Se o aplicativo usa compileSdk 35 mas minSdk 26, o código pode chamar métodos da API 35 somente após verificar a versão através de Build.VERSION.SDK_INT. Esta abordagem é chamada de desenvolvimento com bloqueio de versão e é um padrão da indústria.

AndroidAPIAnoInovação chave
6.0 Marshmallow232015Permissões em tempo de execução
8.0 Oreo262017Canais de notificação, Autofill
10292019Scoped Storage, Tema escuro
12312021SplashScreen, atributo exported
14342023Flags de Broadcast, Serviços em primeiro plano

SDK Manager: instalação e configuração

SDK Manager é uma ferramenta para gerenciar componentes do Android SDK: instalar novos SDK Platform, atualizar os existentes e remover os obsoletos. O SDK Manager está disponível como interface gráfica no Android Studio e também como ferramenta de linha de comando através do sdkmanager. A linha de comando do SDK Manager é conveniente para usar em pipelines CI/CD onde não há interface gráfica.

O SDK Manager instala as plataformas no diretório Android SDK, que por padrão está em $HOME/Android/Sdk no Linux e macOS ou %LOCALAPPDATA%\Android\Sdk no Windows. Dentro do diretório platforms existem pastas chamadas android-{API Level}, cada uma contendo o SDK Platform completo.

Instalação do SDK Platform via sdkmanager

O comando sdkmanager aceita um identificador de pacote no formato "platforms;android-{API}". Por exemplo, para instalar o SDK Platform 35 o comando é:

bash
# Instalar SDK Platform para API Level 35
sdkmanager "platforms;android-35"

# Instalar várias plataformas com um comando
sdkmanager "platforms;android-34" "platforms;android-33" "platforms;android-31"

# Listar plataformas instaladas
sdkmanager --list_installed | grep platforms

# Remover plataforma obsoleta
sdkmanager --uninstall "platforms;android-28"

Instalação automática via Gradle

Projetos Android modernos usam o Gradle Plugin, que pode instalar automaticamente o SDK Platform na primeira compilação. Para isso, é necessário especificar compileSdk no build.gradle e adicionar o diretório SDK na configuração local. O Android Studio também oferece instalar a plataforma faltante ao abrir um projeto — basta clicar no botão "Install SDK Platform" na janela de sincronização do Gradle.

É importante atualizar regularmente o SDK Platform através do SDK Manager — junto com a plataforma, Build-Tools e Platform-Tools são atualizados, o que afeta o desempenho da compilação e a estabilidade da depuração. Google recomenda verificar atualizações do SDK a cada 2–3 semanas, especialmente antes de publicar uma nova versão do aplicativo no Google Play.

Configuração de uma imagem do sistema para o emulador

Para executar o emulador com um API Level específico, é necessário instalar uma System Image da mesma versão. O SDK Manager permite baixar imagens de diferentes arquiteturas (x86_64, arm64-v8a) e tipos (Google APIs, Google Play, AOSP). Após baixar a imagem, o AVD Manager cria um dispositivo virtual baseado nela.

bash
# Instalar System Image com Google APIs para API 35
sdkmanager "system-images;android-35;google_apis;x86_64"

# Criar AVD via linha de comando
avdmanager create avd -n pixel8 -k "system-images;android-35;google_apis;x86_64"

# Listar AVDs criados
avdmanager list avd

compileSdk, targetSdk e minSdk no Gradle

Três parâmetros no build.gradle definem como o aplicativo funciona com o SDK Platform. compileSdk é o API Level usado para compilação. Este parâmetro especifica quais classes da Android API estão disponíveis no código. compileSdk deve ser o mais novo dos três e não afeta o comportamento do runtime — o aplicativo compila mas usa apenas as APIs disponíveis no dispositivo.

minSdk é o API Level mínimo no qual o aplicativo pode ser instalado. Google Play não permitirá instalar o aplicativo num dispositivo com versão inferior ao minSdk. Este parâmetro define o limite de compatibilidade e afeta a cobertura de público. Quanto menor o minSdk, mais dispositivos são suportados, mas menos novas APIs podem ser usadas sem verificações.

targetSdk é o API Level contra o qual o aplicativo foi testado. O sistema Android usa targetSdk para aplicar mudanças comportamentais: se o aplicativo não for atualizado para um novo API Level, o sistema ativa o modo de compatibilidade para versões antigas. Google Play exige que targetSdk não seja inferior a um certo nível — em 2026 é API 34 (Android 14).

Exemplo de configuração do Gradle

groovy
android {
    compileSdk 35

    defaultConfig {
        applicationId "com.example.app"
        minSdk 26
        targetSdk 35
        versionCode 1
        versionName "1.0"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
}

// A versão do Android SDK deve ser instalada através do SDK Manager
// sdkmanager "platforms;android-35"

Como escolher compileSdk, minSdk e targetSdk

A estratégia de seleção depende dos objetivos do projeto. Para um novo aplicativo: compileSdk — o último estável (35 no início de 2026), minSdk — API 26 (Android 8.0, cobre 95% dos dispositivos), targetSdk — o último estável. Para atualizar um aplicativo existente: aumente compileSdk imediatamente, targetSdk — após testar todas as mudanças comportamentais, minSdk — apenas quando for necessário abandonar dispositivos antigos.

Google exige que targetSdk seja atualizado dentro de um ano após o lançamento de uma nova versão do Android. Aplicativos que não atendem a este requisito não podem publicar atualizações no Google Play. Para acompanhar os prazos, use o calendário oficial de atualizações do Android OS.

ParâmetroPropósitoRecomendação
compileSdkVersão da API para compilaçãoÚltima estável
minSdkVersão mínima suportadaAPI 26 para cobertura de 95%
targetSdkVersão para mudanças comportamentaisÚltima estável + testes

Exemplos de trabalho com SDK Platform em código

Ao desenvolver para diferentes versões do Android, é necessário considerar a disponibilidade da API. Se o aplicativo usa compileSdk 35 mas roda num dispositivo com API 31, chamar métodos adicionados na API 34 resultará em NoSuchMethodError ou AbstractMethodError. Para chamar novas APIs de forma segura, são usadas verificações de versão através de Build.VERSION.SDK_INT.

Verificação do API Level em tempo de execução

kotlin
class FeatureChecker {
    fun registerNotificationChannel(context: Context) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            // Canais de notificação estão disponíveis a partir da API 26
            val channel = NotificationChannel(
                "updates",
                "Atualizações",
                NotificationManager.IMPORTANCE_DEFAULT
            )
            val manager = context.getSystemService(NotificationManager::class.java)
            manager.createNotificationChannel(channel)
        }
    }
}

Uso de novas APIs com @RequiresApi

Para métodos que só são chamados em versões específicas, use a anotação @RequiresApi. Isto indica às verificações lint que o método é seguro e desativa avisos. Combinada com a verificação de SDK_INT, a anotação torna o código mais limpo e compreensível para revisores.

kotlin
@RequiresApi(Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
fun scheduleExactAlarm(manager: AlarmManager, time: Long) {
    // API 34: scheduleExact com flag SCHEDULE_EXACT_ALARM
    if (manager.canScheduleExactAlarms()) {
        manager.setExact(AlarmManager.RTC_WAKEUP, time, pendingIntent)
    } else {
        // Solicitar permissão SCHEDULE_EXACT_ALARM
        val intent = Intent(Settings.ACTION_REQUEST_SCHEDULE_EXACT_ALARM)
        context.startActivity(intent)
    }
}

fun safeScheduleAlarm(context: Context, triggerTime: Long) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
        scheduleExactAlarm(getAlarmManager(context), triggerTime)
    } else {
        // Método antigo setExact sem verificação de permissão
        getAlarmManager(context).setExact(AlarmManager.RTC_WAKEUP, triggerTime, pendingIntent)
    }
}

Determinação do SDK Platform instalado

Às vezes é necessário saber qual versão do SDK Platform está instalada no dispositivo do desenvolvedor ou no CI. Isto pode ser feito via ADB ou programaticamente no código do aplicativo. Conhecer o API Level do dispositivo ajuda ao testar comportamentos específicos de versão.

kotlin
fun logDeviceInfo() {
    with (Build.VERSION) {
        Log.d("SDK_Demo", "SDK_INT: $SDK_INT")
        Log.d("SDK_Demo", "RELEASE: $RELEASE")
        Log.d("SDK_Demo", "CODENAME: $CODENAME")
        Log.d("SDK_Demo", "PREVIEW_SDK_INT: $PREVIEW_SDK_INT")
    }
    // Saída: SDK_INT: 35, RELEASE: 15, CODENAME: REL
}

Perguntas frequentes

Qual a diferença entre SDK Platform e Android Studio?

Android Studio é uma IDE, enquanto SDK Platform é um conjunto de bibliotecas e ferramentas para compilação. O Studio usa o SDK Platform para construir aplicativos, mas as plataformas são baixadas separadamente através do SDK Manager e podem ser atualizadas independentemente da versão do Studio.

Quantos SDK Platforms devo instalar?

Geralmente três versões são suficientes: a mais recente (compileSdk), a mínima (minSdk) e uma intermediária para testes. SDK Manager permite adicionar e remover plataformas facilmente conforme necessário. Em média, os desenvolvedores mantêm de 3 a 5 plataformas na sua máquina de trabalho.

Posso usar um SDK Platform antigo para novas APIs?

Não. Cada SDK Platform contém apenas a API da sua versão. Para chamar métodos da API 35, você precisa da plataforma android-35. Especificar um novo compileSdk com uma plataforma antiga instalada causará um erro de compilação.

O que são atualizações do SDK Platform?

Google lança atualizações do SDK Platform para cada versão: correções de bugs, novas APIs, melhorias de desempenho. SDK Manager notifica sobre atualizações disponíveis. Recomenda-se instalar a última revisão da plataforma para compilações estáveis.

Onde os SDK Platforms são armazenados no disco?

Por padrão, cada SDK Platform ocupa de 200 a 800 MB no diretório Android/Sdk/platforms/android-{API}. Dentro da pasta estão android.jar, uma pasta data com recursos e arquivos de configuração para o emulador e sistema de compilação.

Resumo

  • SDK Platform — um conjunto de bibliotecas e ferramentas para uma versão específica do Android correspondente a um API Level determinado.
  • API Level — um identificador numérico que define as classes, métodos e comportamentos do sistema disponíveis.
  • SDK Manager — uma ferramenta para instalar e atualizar SDK Platform, System Images e Build-Tools via GUI ou linha de comando.
  • Os parâmetros compileSdk, minSdk e targetSdk no build.gradle gerenciam a versão da plataforma para compilação e compatibilidade.
  • Para chamar novas APIs em dispositivos antigos, use verificações de Build.VERSION.SDK_INT e a anotação @RequiresApi.
  • Google exige atualizar targetSdk dentro de um ano após o lançamento de uma nova versão do Android para publicar no Google Play.
  • A atualização regular do SDK Platform através do SDK Manager garante acesso a novas APIs, correções e melhorias de desempenho.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também