O Jetpack é um pacote de bibliotecas que ajuda desenvolvedores a seguir as práticas recomendadas, reduzir códigos boilerplate e programar códigos que funcionam de maneira consistente em diferentes dispositivos e versões do Android. Assim, os desenvolvedores podem se concentrar no código que realmente importa para eles.
Jetpack Compose
Um kit de ferramentas moderno para criar IU nativa que permite simplificar e acelerar o desenvolvimento de IUs no Android.

Por que usar o Android Jetpack?

Criadas com práticas de design modernas, as bibliotecas do Android Jetpack reduzem as falhas e os vazamentos de memória graças à compatibilidade com versões anteriores incorporada.
O Android Jetpack gerencia atividades tediosas, como tarefas em segundo plano, navegação e gerenciamento do ciclo de vida, para que você possa se concentrar naquilo que torna seu app incrível.
Reduza a complexidade com bibliotecas que funcionam de modo consistente em diferentes dispositivos e versões do Android.

* As bibliotecas mais usadas são listadas primeiro

activity *Acesse APIs combináveis baseadas na Activity.
appcompat *Permite o acesso a novas APIs em versões anteriores de API da plataforma (muitas usando o Material Design).
appsearch *Crie recursos personalizados de pesquisa no app para os usuários.
camera *Crie apps de câmera para dispositivos móveis.
compose *Defina a interface de maneira programática com funções combináveis que descrevem a forma e as dependências de dados dela.
databinding *Vincule componentes de interface dos seus layouts a fontes de dados no seu app usando um formato declarativo.
fragment *Segmente seu app em várias telas independentes hospedadas em uma atividade.
hilt *Estenda a funcionalidade de Dagger Hilt para ativar a injeção de dependências de determinadas classes das bibliotecas do AndroidX.
lifecycle *Crie componentes com reconhecimento de ciclo de vida que podem ajustar o comportamento com base no estado atual do ciclo de vida de uma atividade ou um fragmento.
Material Design Components * Componentes modulares e personalizáveis da interface do Material Design para Android.
navigation *Crie e estruture sua interface no app, gerencie links diretos e navegue entre telas.
paging *Carregue dados em páginas e os exiba em uma RecyclerView.
room *Crie, armazene e gerencie dados persistentes baseados em um banco de dados SQLite.
test *Teste no Android.
work *Programe e execute tarefas em segundo plano baseadas em restrições.
adsReceba um ID de publicidade com ou sem o Google Play Services.
annotationExponha metadados que ajudam as ferramentas e outros desenvolvedores a entender o código do seu app.
arch.coreAssistente para outras dependências de arquivamento, incluindo regras de teste do JUnit que podem ser usadas com o LiveData.
asynclayoutinflaterAumente os layouts de maneira assíncrona para evitar instabilidade na interface.
autofillMelhore a precisão do preenchimento automático com hints estendidos.
benchmarkMeça com precisão a performance do código no Android Studio.
biometricFaça a autenticação com biometria ou credenciais do dispositivo e execute operações criptográficas.
BluetoothUse os recursos de Bluetooth da plataforma Android com APIs compatíveis com versões anteriores.
browserExiba páginas da Web no navegador padrão do usuário.
camera.viewfinderVisor combinável independente e baseado em visualização para câmera
car-appCrie apps com modelos para o Android Auto e o Android Automotive OS.
cardviewImplemente o padrão de card do Material Design, com cantos arredondados e sombras projetadas.
collectionReduza o impacto de pequenas coleções novas e já existentes na memória.
compose.animationCrie animações nos aplicativos Jetpack Compose para enriquecer a experiência do usuário.
compose.compilerTransforme funções @Composable e ative otimizações com um plug-in do compilador Kotlin.
compose.foundationCrie aplicativos do Jetpack Compose com elementos básicos prontos que podem ser usados para criar suas próprias peças de sistema de design.
compose.materialCrie IUs do Jetpack Compose com componentes do Material Design prontos para uso. Este é o ponto de entrada de nível mais alto do Compose, projetado para fornecer componentes que correspondam aos descritos em www.material.io.
compose.material3Crie IUs do Jetpack Compose usando componentes do Material Design 3, a nova versão do Material Design. O Material 3 inclui temas e componentes atualizados, além de recursos de personalização do Material You, como cores dinâmicas, e foi desenvolvido para ser coeso com o novo estilo visual do Android 12 e com a interface do sistema.
compose.material3.adaptiveUse a biblioteca adaptável do Material 3 para criar interfaces adaptáveis que se adaptam automaticamente de acordo com as configurações de janela atual, como classes de tamanho de janela ou posturas do dispositivo. A biblioteca fornece implementações de scaffold padrão e elementos combináveis de blocos de construção necessários para criar suas próprias experiências personalizadas.
compose.runtimeElementos fundamentais do modelo de programação e do gerenciamento de estado do Compose e do ambiente de execução principal do plug-in Compose Compiler.
compose.uiComponentes fundamentais da interface do Compose necessários para interagir com o dispositivo, incluindo layout, desenho e entrada.
concurrentRemova as tarefas da linha de execução principal com corrotinas e aproveite o ListableFuture.
constraintlayoutDefina a posição e o tamanho dos widgets de maneira flexível com posicionamento relativo.
contentpagerCarregue e faça a paginação dos dados do ContentProvider em uma linha de execução em segundo plano.
coordinatorlayoutPosicione widgets de aplicativos de nível superior, como AppBarLayout e FloatingActionButton.
coreTenha como objetivo os recursos e as APIs mais recentes da plataforma sem deixar de oferecer suporte a dispositivos mais antigos.
core.uwbImplemente a banda ultralarga (UWB) em dispositivos com suporte.
credentials Essa biblioteca oferece acesso unificado às credenciais de um usuário. Isso pode incluir senhas, senhas de acesso e credenciais federadas. A biblioteca deve ser usada para proporcionar experiências de login integradas e seguras.
credentials.registryPara resolver esses problemas, adicionamos um novo mecanismo de registro que permite que um app forneça credenciais digitais sem comprometer a privacidade. Em um alto nível, o app do provedor vai pré-registrar todas as credenciais digitais candidatas com o Gerenciador de credenciais. Quando o Gerenciador de credenciais receber uma solicitação de app para uma credencial digital específica, ele vai executar a correspondência de credenciais e a interface do seletor de usuários em um sandbox.
cursoradapterExponha dados do cursor para um widget ListView.
customviewImplemente visualizações personalizadas.
datastoreArmazene dados de forma assíncrona, consistente e transacional, superando algumas das desvantagens de SharedPreferences.
documentfileVeja um documento de arquivo.
draganddropAceite dados arrastados de outro app ou dentro do mesmo aplicativo para mostrar uma ação de arrastar e soltar consistente.
drawerlayoutImplemente um widget de gaveta do Material Design.
dynamicanimationCrie animações suaves com uma API de animação baseada em física.
emojiMostre emojis em dispositivos atuais e mais antigos.
emoji2Mostre emojis em dispositivos atuais e mais antigos.
enterpriseCrie aplicativos empresariais.
exifinterfaceLeia e grave tags EXIF do arquivo de imagem.
gamesUse o SDK para jogos do Android de maneira nativa no seu app para realizar tarefas complexas de jogos, como estabelecer o ritmo dos frames.
glanceCrie layouts para superfícies remotas usando uma API no estilo Jetpack Compose.
graphicsUse recursos gráficos em várias versões da Plataforma Android.
gridlayoutImplemente um layout de grade.
healthCrie aplicativos de saúde de alta performance de maneira independente da plataforma.
health.connectPermite que os desenvolvedores leiam ou gravem registros de saúde e condicionamento físico do usuário.
heifwriterCodifique uma imagem ou coleção de imagens no formato HEIF usando os codecs disponíveis no dispositivo Android.
tintaInspire os melhores apps de caneta. Reduzir a barreira de entrada para que os desenvolvedores tenham experiências de impressão de alta performance e bonitas.
inputReduza a latência das interações de entrada prevendo futuros MotionEvents.
interpolatorUse interpoladores de animação em plataformas mais antigas.
javascriptenginePermite que seu app Android avalie o JavaScript.
jetifierUma ferramenta autônoma que migra as dependências de uma biblioteca na Biblioteca de Suporte descontinuada para dependências equivalentes do AndroidX.
leanbackUse o Compose para TV em vez desse artefato.
legacyEsse artefato e as classes dele foram descontinuados. A partir do Android 8, as restrições de verificação de histórico tornam essa classe desnecessária.
lintVerificações de lint para verificar o uso de APIs do Gradle
loaderCarregue dados da sua interface que resistam a mudanças de configuração.
localbroadcastmanagerEsse artefato e as classes dele foram descontinuados. Use LiveData ou streams reativos.
mediaCompartilhe conteúdo e controles de mídia com outros apps. Substituída por media3.
media2Compartilhe conteúdo e controles de mídia com outros apps.
media3 *Bibliotecas de suporte para casos de uso de mídia.
mediarouterAtive a exibição e a reprodução de mídia em dispositivos receptores remotos usando uma interface de usuário comum.
multidexImplante aplicativos com vários arquivos dex em dispositivos anteriores ao Android 5.
metricsAcompanhe e gere relatórios para várias métricas de execução do aplicativo.
paletteExtraia paletas de cores representativas das imagens.
pdfUma biblioteca para adicionar recursos de visualização de PDF em apps.
percentlayoutEsse artefato e as classes dele foram descontinuados. Use ConstraintLayout e layouts associados.
preferenceCrie telas de configurações interativas sem precisar interagir com o armazenamento do dispositivo ou gerenciar a interface.
printMostre fotos, documentos e outros gráficos e imagens no seu app.
privacysandbox.activityTODO
privacysandbox.adsEssa biblioteca permite a integração com as APIs que preservam a privacidade e que fazem parte do Sandbox de privacidade do Android.
privacysandbox.pluginsPlug-in do Gradle da biblioteca do SDK do Android Privacy Sandbox
privacysandbox.sdkruntimeEssa biblioteca oferece componentes para consumidores que reconhecem o SdkRuntime.
privacysandbox.toolsUma biblioteca para usar a funcionalidade Sandbox de privacidade no Android.
privacysandbox.uiTODO
profileinstallerPermite que as bibliotecas sejam preenchidas automaticamente antes que os rastros de compilação sejam lidos pelo ART.
recommendationPromova conteúdo na tela inicial do Android TV Launcher.
recyclerviewMostre grandes conjuntos de dados na interface enquanto minimiza o uso de memória.
remotecallbackCrie um wrapper que facilita o fornecimento de uma PendingIntent pelos desenvolvedores.
resourceinspectionExiba os atributos das visualizações personalizadas no Live Layout Inspector do Android Studio.
savedstatePrograme componentes conectáveis que salvam o estado da interface quando um processo é encerrado e o restauram quando é reiniciado.
securityGerencie chaves com segurança e criptografe arquivos e preferências compartilhadas.
sharetargetForneça compatibilidade com versões anteriores para usar atalhos como destinos de compartilhamento direto.
sliceMostre elementos da interface com modelos de fora do app.
slidingpanelayoutImplemente um padrão de interface de painel deslizante.
startupImplemente uma maneira simples e eficaz de iniciar componentes na inicialização do app.
sqliteTrabalhe com bancos de dados SQLite locais. Se possível, use o Room.
swiperefreshlayoutImplemente o padrão de interface de deslizar para atualizar.
test.uiautomatorFramework para testes funcionais da interface entre apps.
textclassifierIdentifica conversas, links, seleções e outras construções semelhantes no texto.
tracingCrie eventos de rastros no buffer de rastreamento do sistema.
transitionAnime o movimento na interface com layouts iniciais e finais.
tvFornece aos desenvolvedores funcionalidades do Compose e do Material Design para criar aplicativos direcionados à TV.
tvproviderForneça canais do Android TV.
vectordrawableRenderize gráficos vetoriais.
versionedparcelableFornece um formato de serialização binário estável e compacto que pode ser transmitido entre processos ou persistido com segurança.
viewpagerMostre visualizações ou fragmentos em um formato deslizante. Se possível, use o viewpager2.
viewpager2Mostre visualizações ou fragmentos em um formato deslizante.
wearCrie aplicativos para smartwatches Wear OS by Google.
wear.composeCrie apps do Jetpack Compose para dispositivos wearable oferecendo funcionalidade com suporte a dispositivos, tamanhos, formas e gestos de navegação específicos.
wear.protolayoutEsta biblioteca permite definir um conjunto de layouts de interface e expressões que não são da interface para renderização/avaliação em plataformas remotas.
wear.tilesCrie aplicativos para smartwatches Wear OS by Google.
wear.watchfaceCrie aplicativos para smartwatches Wear OS by Google.
webkitTrabalhe com APIs WebView modernas no Android 5 e versões mais recentes.
windowOferece suporte a diferentes formatos, como dispositivos dobráveis.
window.extensions.coreAs APIs Core para extensões da biblioteca Window Manager
Compose de agosto de 2023
O Jetpack Compose 1.5.0 passa a ser estável e traz melhorias importantes de desempenho, incluindo uma refatoração de modificadores de alto nível, como "Clickable", que pode melhorar o tempo de composição em 80%. Agosto de 2023, o Compose também oferece uma melhoria de até 70% na alocação de memória, principalmente na pilha de gráficos, o que reduz o consumo de memória do Compose em dispositivos.
Wear Compose e Tiles 1.2
Tanto o Wear Compose quanto os blocos do Wear estão na versão estável para melhorar ainda mais a experiência dos desenvolvedores de Wear OS. Ambos são complementares, em que o Wear Compose pode ser usado para criar telas de apps complexas em dispositivos Wear e os blocos Wear podem ser usados para criar os blocos de apps. A nova versão do Wear Compose contém novas funcionalidades, como itens expansíveis e "Deslize para revelar". A versão das Blocos do Wear agora também oferece suporte à animação de widgets e à vinculação de dados da plataforma, como a fonte de dados de saúde.
Window 1.1
O
1.1 estabiliza as APIs de incorporação de atividades, permitindo que apps como WhatsApp, eBay e Temu enviem layouts de tela grande. A API é aprimorada com recursos, porque permite que os desenvolvedores modifiquem o comportamento de tela dividida, verifiquem (e alterem) o estado de divisão durante a execução, implementem divisões horizontais e iniciem um modal em tela cheia.
Notas da versão
Para mais informações, acesse as notas da versão.

Aprenda a usar o Jetpack

Aprenda sobre as bibliotecas essenciais do Jetpack no curso "Noções básicas do Android com o Compose" e reduza o código boilerplate no seu app.
Pratique com três bibliotecas do Jetpack que simplificam a camada de dados: LiveData, ViewModel e Room
Veja como as bibliotecas mais conhecidas do Jetpack são usadas juntas em um app em fase de produção

Notícias e vídeos