Para que os aplicativos Android sejam compatíveis com versões anteriores ao que o aplicativo foi desenvolvido (por exemplo se você desenvolveu seu aplicativo com Android 9 e deseja que ele seja executado em Android 7) existem as Support Librarys desenvolvidas pela Google e portadas para Xamarin.Android pelo time de Xamarin.Android da Microsoft, disponíveis no Nuget.

As Support Librarys tinham alguns problemas, como interdependências, não usavam Semantic Version, entre outras. Por estes motivos a Google desenvolveu o uma nova versão de bibliotecas de suporte, o AndroidX.

Você pode conferir um pouco mais sobre AndroidX na página dele no portal Google Developer

A cerca de dois meses a Microsoft anunciou a versão estável das bibliotecas AndroidX para Xamarin! Vamos ver como migrar o projeto para utilizar a nova versão das Support Librarys

Antes de iniciar a migração é importante checar se você está utilizando a versão 1.5 ou superior do Xamarin.Essentials e a versão 16.5 ou superior do Visual Studio Windows ou versão 8.5 ou superior do Visual Studio For Mac.

OBS: É preferível que você esteja utilizando a versão 4.5 ou superior do Xamarin.Forms, mas não é imprescindível.

Este post é totalmente baseado no post oficial da Microsoft, você pode conferi-lo na integra clicando aqui. A razão principal deste post é disponibilizar um material sobre a migração em português.

Migrando para AndroidX

O recomendado é que a migração seja feita através do Visual Studio Windows / Visual Studio for Mac.

Se você estiver usando o Visual Studio Windows, o primeiro passo é habilitar esta funcionalidade, para isto clique em Tools > Options > Xamarin > Android Settings

Pule esta parte se você estiver com a versão 8.5 ou superior do Visual Studio For Mac

configuração da feature flag
Imagem retiradas do post oficial da Microsoft, confira mais em https://devblogs.microsoft.com/xamarin/androidx-nuget-packages-are-stable/

Depois disto clique com o botão direito no seu projeto Android e clique em Migrate to AndroidX

opção Migrate to AndroidX
Imagem retiradas do post oficial da Microsoft, confira mais em https://devblogs.microsoft.com/xamarin/androidx-nuget-packages-are-stable/

É possível que você tenha que migrar alguns namespaces manualmente. São namespaces não cobertos pela ferramenta.

Se seu app possui alguma dependência externa que não foi migrada para AndroidX, utilize o pacote Xamarin.AndroidX.Migration disponibilizado pela Microsoft.

E aí, deu certo? Se teve algum problema, comenta aqui no post e vamos resolver juntos!

Referências

https://devblogs.microsoft.com/xamarin/androidx-nuget-packages-are-stable/

Modificado pela ultima vez: 12 de maio de 2020

Comentários

Escreva uma resposta ou comentário

Seu endereço de e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.