AndroidX: o que é, bibliotecas principais e migração

Autor: IT Sectr Publicado: 2026-05-01 Tempo de leitura: 8 min

AndroidX é um conjunto de bibliotecas Jetpack do Google que substituiu a obsoleta Support Library. De acordo com a Google Developer Documentation, 2024, o AndroidX fornece componentes compatíveis com versões anteriores para todas as versões do Android e é o padrão do desenvolvimento moderno para Android. As bibliotecas AndroidX incluem ferramentas para UI, navegação, manipulação de dados, câmera e tarefas em segundo plano.

Pontos principais

  • AndroidX é o sucessor da Support Library, lançado em 2018 como parte do Jetpack
  • As bibliotecas AndroidX são independentes da versão da API e funcionam em dispositivos com Android 4.0+
  • A migração da Support Library é feita automaticamente pelo Android Studio
  • Módulos principais: Activity, Fragment, RecyclerView, Navigation, Room, WorkManager
  • O versionamento semântico permite atualizar bibliotecas independentemente umas das outras

O que é AndroidX

AndroidX é uma biblioteca de código aberto que faz parte do Android Jetpack. O Google lançou o AndroidX em 2018 como substituto da Support Library, que desde 2011 fornecia componentes compatíveis com versões anteriores para versões antigas do Android.

Antes do AndroidX, cada componente da Support Library tinha sua própria versão vinculada ao targetSdkVersion. Os desenvolvedores precisavam incluir várias versões da mesma biblioteca simultaneamente, causando conflitos de dependência e aumento no tamanho do APK.

AndroidX resolveu este problema através do versionamento semântico (SemVer). Agora cada biblioteca é um artefato Gradle independente com versão no formato MAJOR.MINOR.PATCH. Os desenvolvedores podem atualizar o Room de 2.4.0 para 2.6.0 sem tocar no Activity, Fragment ou outros módulos.

História do AndroidX

O primeiro lançamento estável do AndroidX 1.0.0 ocorreu em dezembro de 2018 junto com o Android 9 Pie. O Google anunciou que a Support Library entraria em modo de manutenção e que todos os novos componentes — Navigation, WorkManager, Compose — seriam lançados apenas como parte do AndroidX. A última versão da Support Library — 28.0.0 — foi lançada em 2019.

De acordo com o Google I/O 2019, a principal razão para a transição foi a necessidade de acelerar o lançamento de atualizações. No modelo antigo, uma biblioteca precisava esperar por outra devido a uma versão única de pacote. O AndroidX removeu este gargalo, e o Jetpack começou a receber versões principais e secundárias a cada 2–3 meses.

Diferenças entre AndroidX e Support Library

A principal diferença é o espaço de nomes. A Support Library usava o pacote android.support.*, enquanto o AndroidX mudou para androidx.*. Esta mudança permitiu dividir as bibliotecas em módulos funcionais. Por exemplo, o Fragment na Support Library era chamado android.support.v4.app.Fragment, enquanto no AndroidX é androidx.fragment.app.Fragment.

A segunda diferença importante é a arquitetura. O AndroidX é distribuído com o Jetpack — um conjunto de recomendações de arquitetura de aplicativos. O Jetpack inclui ViewModel, LiveData, Room, Navigation e WorkManager, projetados como um ecossistema unificado em vez de utilitários dispersos.

A compatibilidade com versões anteriores também melhorou. Enquanto a Support Library suportava Android 2.3+, o AndroidX garante funcionamento em dispositivos com Android 4.0 (API 14) e superiores — cobrindo mais de 99% dos dispositivos ativos de acordo com o Google Play Console 2024.

Composição das bibliotecas AndroidX

AndroidX inclui mais de 100 bibliotecas agrupadas por categoria. Cada grupo cobre uma área específica: UI, dados, navegação, tarefas em segundo plano, multimídia e testes. Abaixo está uma visão geral dos módulos principais.

Bibliotecas principais e base

androidx.core:core é a biblioteca base que contém versões compatíveis com versões anteriores das APIs do sistema: NotificationCompat, ActivityCompat, ContextCompat. O módulo core-ktx fornece extensões Kotlin para trabalhar com arquivos, SharedPreferences e elementos de visualização.

A biblioteca androidx.activity:activity introduziu a API Activity Result (registerForActivityResult), substituindo o obsoleto startActivityForResult. O módulo fragment:fragment gerencia o ciclo de vida dos fragmentos e suporta FragmentManager para transações e pilha de retrocesso.

androidx.lifecycle é a base da arquitetura Jetpack. LifecycleOwner e LifecycleObserver permitem que os componentes reajam às mudanças no ciclo de vida da Activity ou Fragment. O ViewModel preserva os dados durante a rotação da tela, enquanto o LiveData notifica a UI sobre alterações nos dados.

kotlin
class MainViewModel : ViewModel() {
    private val _users = MutableLiveData<List<User>>()
    val users: LiveData<List<User>> = _users

    fun loadUsers() {
        viewModelScope.launch {
            val result = repository.getUsers()
            _users.value = result
        }
    }
}

Bibliotecas de UI

androidx.recyclerview:recyclerview é um poderoso componente para exibir listas e grades. O RecyclerView suporta LayoutManager (LinearLayoutManager, GridLayoutManager), ItemDecoration e animações via ItemAnimator. A biblioteca ListAdapter com AsyncListDiffer simplifica a atualização de listas com cálculo automático de diferenças.

androidx.navigation:navigation é uma biblioteca para navegação entre telas. O Navigation Component trabalha com NavHostFragment e NavController, suporta Safe Args para passar parâmetros tipados e Deep Links para links externos. O NavGraph descreve todas as rotas em um arquivo XML.

androidx.compose.ui é um framework de UI declarativo, Jetpack Compose, construído sobre Kotlin. Ao contrário do sistema View, o Compose redesenha apenas os elementos modificados através da recomposição. Os componentes do Material Design 3 (Button, TextField, Scaffold) estão disponíveis no módulo material3.

BibliotecaArtefatoFinalidade
Fragmentandroidx.fragmentGerenciamento de fragmentos e transações
RecyclerViewandroidx.recyclerviewListas e grades otimizadas
Navigationandroidx.navigationNavegação entre telas
Compose UIandroidx.compose.uiUI declarativa em Kotlin

Bibliotecas de dados

androidx.room:room é um ORM para armazenamento local de dados. O Room gera classes DAO a partir de consultas SQLite anotadas, valida a sintaxe SQL em tempo de compilação e suporta RxJava e Kotlin Flow. A versão 2.6 inclui suporte a KSP para geração de código mais rápida.

androidx.work:workmanager é uma biblioteca para tarefas em segundo plano com execução garantida. O WorkManager suporta tarefas periódicas, cadeias de trabalho (beginWith, then) e critérios de execução (Constraints: rede, carregamento, armazenamento). Mesmo se o aplicativo estiver fechado, o WorkManager entrega a tarefa após a reinicialização do dispositivo.

androidx.datastore:datastore é um substituto moderno para SharedPreferences. O DataStore usa Kotlin Coroutines e Flow, funciona de forma síncrona e assíncrona, evitando o bloqueio da thread de UI. O Preferences DataStore armazena pares simples de chave-valor, enquanto o Proto DataStore lida com objetos tipados através do Protocol Buffers.

Como migrar para o AndroidX

A migração automática é a forma recomendada pelo Google para transitar da Support Library para o AndroidX. O Android Studio desde a versão 3.2 inclui a ferramenta integrada Refactor Migrate to AndroidX, que substitui os espaços de nomes e atualiza as dependências no build.gradle.

Antes da migração, você precisa atualizar a versão do compileSdk para 28 ou superior. Certifique-se também de que todas as bibliotecas de terceiros suportam AndroidX. Se alguma dependência ainda não migrou, use a flag android.enableJetifier=true no gradle.properties — ela reescreve automaticamente o bytecode das bibliotecas de terceiros.

Migração automática no Android Studio

No Android Studio, selecione Refactor Migrate to AndroidX no menu. A IDE escaneará todo o projeto, encontrará todas as importações do pacote android.support.* e as substituirá por androidx.*. As dependências no app/build.gradle também serão atualizadas — os artefatos da Support Library serão substituídos pelas versões correspondentes do AndroidX.

Após a migração, o Gradle Sync pode mostrar erros se algumas dependências não forem encontradas. Verifique a lista de bibliotecas utilizadas na documentação do Google Maven — todos os artefatos do AndroidX estão publicados no google(). Se uma biblioteca não estiver disponível, adicione mavenCentral() em repositories.

groovy
android {
    compileSdk 34
}

dependencies {
    // Support Library (obsoleta)
    // implementation 'com.android.support:appcompat-v7:28.0.0'
    
    // AndroidX
    implementation 'androidx.core:core-ktx:1.13.1'
    implementation 'androidx.appcompat:appcompat:1.7.0'
    implementation 'androidx.activity:activity-ktx:1.9.3'
    implementation 'androidx.fragment:fragment-ktx:1.8.5'
    implementation 'androidx.recyclerview:recyclerview:1.3.2'
    implementation 'androidx.room:room-runtime:2.6.1'
    ksp 'androidx.room:room-compiler:2.6.1'
}

Migração manual

Se o projeto for muito grande ou contiver Visualizações personalizadas da Support Library, a substituição automática pode ser incompleta. Substitua manualmente todas as strings no código: altere as importações, os atributos XML (app/src/main/res) e as referências no manifesto. Para atributos da Support Library, o prefixo android: muda para app: (por exemplo, app:cardCornerRadius em vez de android:cardCornerRadius).

Após a migração manual, verifique as referências R. A Support Library exportava recursos através de android.support.v7.appcompat.R, enquanto o AndroidX usa androidx.appcompat.R. Pesquise no projeto e substitua todas as referências a caminhos R antigos. A compilação do projeto deve ser concluída sem erros ou avisos de depreciação.

Benefícios do uso do AndroidX

A primeira vantagem do AndroidX é a modularidade. Você inclui apenas as bibliotecas que realmente usa. Se seu aplicativo precisa apenas de RecyclerView e Navigation, não há necessidade de incluir toda a Support Library com todos os componentes View. Isso reduz o tamanho do APK e acelera o tempo de compilação.

A segunda vantagem são as atualizações regulares. O Jetpack lança versões estáveis a cada 1–3 meses. O Room 2.6.0, lançado em 2024, adicionou suporte a KSP e compatibilidade com Kotlin 2.0. O Navigation 2.8.0 introduziu rotas com segurança de tipos baseadas em Kotlinx Serialization. Os desenvolvedores obtêm novos recursos sem esperar pela próxima versão do Android.

A terceira vantagem é a integração com Kotlin. Todas as bibliotecas AndroidX possuem módulos -ktx com funções de extensão. viewLifecycleOwner.lifecycleScope inicia corrotinas no contexto do fragmento, collectLatest processa Flow, e SharedFlow e StateFlow são totalmente compatíveis com componentes lifecycle-aware. Isso torna o código mais conciso e seguro.

A compatibilidade com versões anteriores é uma vantagem fundamental do AndroidX sobre as novas APIs da plataforma. Você pode usar AppCompatDelegate.setDefaultNightMode para tema escuro no Android 4.0+, NotificationCompat.setBubble para bolhas no Android 5.0+ e LocationRequestCompat para localização combinada no Android 4.0+. A cobertura de dispositivos atinge 99% sem aumentar a versão mínima do SDK.

A quarta vantagem são os testes. O AndroidX inclui a biblioteca androidx.test para escrever testes instrumentados e unitários. FragmentScenario e ActivityScenario permitem testar componentes de UI isoladamente, enquanto TestNavHostController possibilita verificar a navegação sem executar um dispositivo real. MockK e Robolectric completam o ecossistema.

Perguntas frequentes

Qual a diferença entre AndroidX e Support Library?

AndroidX usa o espaço de nomes androidx.* em vez de android.support.*, tem versionamento independente (SemVer), inclui as bibliotecas Jetpack e suporta extensões Kotlin -ktx. A Support Library foi congelada na versão 28.0.0 em 2019.

Como adicionar AndroidX a um novo projeto?

No Android Studio, ative a flag Use AndroidX na etapa de criação do projeto. Para projetos existentes, adicione android.useAndroidX=true e android.enableJetifier=true no gradle.properties. Depois substitua as dependências no build.gradle por artefatos do grupo androidx.

É obrigatório migrar para o AndroidX?

O Google Play exige que todos os aplicativos e atualizações usem AndroidX. O suporte à Support Library foi descontinuado e ela não recebe mais correções de segurança. Se seu aplicativo ainda não migrou, isso pode levar à rejeição da atualização no Google Play Console.

O que é Jetpack no Android?

Jetpack é um conjunto de bibliotecas, ferramentas e diretrizes do Google para desenvolvimento de aplicativos Android. O AndroidX é a base do Jetpack. O Jetpack inclui Architecture Components (Lifecycle, ViewModel, Room), UI (Compose, Fragment, RecyclerView) e Behavior (WorkManager, Navigation, CameraX).

Posso usar AndroidX com Jetpack Compose?

Sim, o Jetpack Compose em si faz parte do AndroidX (androidx.compose.ui). As bibliotecas ViewModel, Navigation, Room e WorkManager são totalmente compatíveis com Compose. As funções collectAsState() e collectAsStateWithLifecycle() fornecem integração do Flow com funções Composable.

Resumo

  • AndroidX é um conjunto moderno de bibliotecas Jetpack, sucessor da Support Library com versionamento semântico
  • Mais de 100 módulos cobrem UI, dados, navegação, tarefas em segundo plano, multimídia e testes
  • A migração automática no Android Studio substitui importações e dependências em poucos cliques
  • As extensões Kotlin -ktx reduzem código repetitivo e se integram com corrotinas e Flow
  • A compatibilidade com versões anteriores com Android 4.0+ cobre 99% dos dispositivos ativos
  • O Jetpack une o AndroidX com recomendações arquiteturais — ViewModel, Room, Navigation, WorkManager
  • Use AndroidX em todos os novos projetos — é o padrão da indústria desde 2019

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