CW
Navegação
🇧🇷 PT 🇺🇸 EN
Home Sobre Stack Empresas Blog
CONTATO
Voltar para o Blog
13 jan. 2026 129 Visualizações
Como Corrigir o Warning XA0141 no .NET MAUI (SQLite com Page Size 16 KB no Android 15 e 16)

Como Corrigir o Warning XA0141 no .NET MAUI (SQLite com Page Size 16 KB no Android 15 e 16)

"Você tem notado o aviso XA0141 nos seus logs de build do .NET MAUI? O Android 15 e 16 estão migrando para tamanhos de página de 16 KB, o que faz com que bibliotecas SQLite mais antigas falhem em hardwares novos. Neste guia, explico exatamente por que isso está acontecendo e apresento uma solução passo a passo para mudar para o bundle_e_sqlite3 e preparar sua aplicação para o futuro."

Como Corrigir o Warning XA0141 no .NET MAUI (SQLite com Page Size 16 KB no Android 15 e 16)

Se você está desenvolvendo um aplicativo .NET MAUI para versões modernas do Android, provavelmente já se deparou com o seguinte aviso durante o build:

warning XA0141: Android 16 will require 16 KB page sizes, shared library 'libe_sqlite3.so' does not have a 16 KB page size.

🛑 Danger

Esse warning não deve ser ignorado. Ele indica um problema real de compatibilidade futura com o Android 15 e Android 16, relacionado à biblioteca nativa do SQLite utilizada pela sua aplicação.

Neste artigo, você vai entender por que esse erro acontece, quais apps serão afetados e como corrigir definitivamente o XA0141 no .NET MAUI, garantindo compatibilidade com dispositivos modernos como o Pixel 9.


📌 O Que é o Warning XA0141?

O aviso XA0141 informa que a biblioteca nativa libe_sqlite3.so foi compilada usando page size de 4 KB, enquanto o Android está migrando para 16 KB page size como padrão.

A partir do Android 15 (e obrigatório no Android 16):

  • Bibliotecas nativas precisam suportar alinhamento de memória de 16 KB
  • Bibliotecas antigas com 4 KB podem falhar ao carregar
  • O app pode crashar na inicialização

🛑 A Causa do Problema: SQLitePCLRaw.bundle_green

Durante muitos anos, a recomendação padrão para projetos Xamarin e .NET MAUI foi utilizar:

  • SQLitePCLRaw.bundle_green

O problema é que:

  • Esse bundle utiliza uma versão do SQLite compilada com 4 KB
  • Em dispositivos com 16 KB page size, o Android não consegue carregar a DLL nativa
  • O resultado é crash silencioso ou falha ao iniciar o app

✅ A Solução Oficial: SQLitePCLRaw.bundle_e_sqlite3

A comunidade e os mantenedores do ecossistema sqlite-net-pcl confirmaram que a solução correta é migrar para:

  • SQLitePCLRaw.bundle_e_sqlite3 (versão 2.1.10 ou superior)

Essa versão já inclui:

  • libe_sqlite3.so compilada com 16 KB page size
  • Compatibilidade total com Android 15 e 16
  • Eliminação completa do warning XA0141

🧹 Passo 1: Remover Dependências Incompatíveis

Abra o seu .csproj e remova qualquer referência aos pacotes abaixo:

SQLitePCLRaw.bundle_green SQLitePCLRaw.provider.dynamic_cdecl

Esses pacotes são os responsáveis pelo SQLite incompatível.


📦 Passo 2: Instalar o SQLite Compatível com 16 KB

Adicione os pacotes corretos via CLI:

dotnet add package sqlite-net-pcl --version 1.9.172
dotnet add package SQLitePCLRaw.bundle_e_sqlite3 --version 2.1.10

Ou atualize manualmente o .csproj:

<ItemGroup>
    <PackageReference Include="sqlite-net-pcl" Version="1.9.172" />
    <PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.10" />
</ItemGroup>

🚀 Passo 3: Inicializar o SQLite no MauiProgram.cs

Depois de trocar o bundle, é fundamental inicializar corretamente o SQLite para garantir que a biblioteca correta seja carregada.

public static MauiApp CreateMauiApp()
{
    var builder = MauiApp.CreateBuilder();

    // Configurações padrão do app

    // Inicializa o SQLite com a biblioteca correta (16 KB)
    SQLitePCL.Batteries_V2.Init();

    return builder.Build();
}

🔍 Como Verificar se o Problema Foi Resolvido

Após aplicar as mudanças:

  1. Execute Clean e Rebuild
  2. Verifique se o warning XA0141 desapareceu
  3. Teste o app em:
    • Emulador Android 15 com 16 KB page size
    • Dispositivos como Pixel 9

Se tudo estiver correto, o app iniciará normalmente e o SQLite funcionará sem falhas.


🏁 Conclusão

A migração para SQLitePCLRaw.bundle_e_sqlite3 não é opcional — ela é obrigatória para garantir que seu aplicativo .NET MAUI continue funcionando corretamente no Android 16 e versões futuras.

Resolver o warning XA0141 agora evita crashes, reprovação na Play Store e problemas difíceis de diagnosticar no futuro.

Se você usa SQLite no .NET MAUI, faça essa atualização o quanto antes.

🚀 App seguro hoje. Compatível amanhã.

Cezar Wagenheimer
Written By

Cezar Wagenheimer

Full Stack Developer & Game Creator. Specialized in building immersive digital experiences and advanced systems.

Connect:
Share this article

Comentários

Seja o primeiro a comentar!

Deixe seu comentário