Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Warning Android Manifest

Boa noite, Estou com seguinte Warning "AndroidManifest.xml //uses-sdk/@android:targetSdkVersion '26' is less than $(TargetFrameworkVersion) ''. Using API-27 for ACW compilation."

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname.TestDrive" android:installLocation="auto">
    <uses-sdk android:targetSdkVersion="26" android:minSdkVersion="23" />
    <application android:label="TestDrive.Android"></application>
</manifest>

Até o final do curso Xamarin Parte 2 estava funcionando.

PS: Ontem o VS fez uma atualização

3 respostas

Olá, Paulo

Sua aplicação parou de funcionar, ou é apenas um Warning que está sendo exibido?

De qualquer forma, você pode entrar em Project Properties > Application e mudar as versões de Framework de destino, Versão mínima do Android e Destino de versão do Androidpara o mesmo nível de API.

Existe um documento da Microsoft que explica isso em detalhes, então vamos lá:

https://docs.microsoft.com/pt-br/xamarin/android/app-fundamentals/android-api-levels?tabs=vswin

Xamarin expõe três configurações de nível de projeto de API do Android:

Framework de destino – Especifica o framework para usar na criação de seu aplicativo. Esse nível de API é usada em compilar tempo por xamarin.

Versão mínima do Android – Especifica a versão do Android mais antiga que você deseja que seu aplicativo para dar suporte. Esse nível de API é usada em executar tempo pelo Android.

Destino de versão do Android – Especifica a versão do Android que é seu aplicativo deve ser executados em. Esse nível de API é usada em executar tempo pelo Android.

Normalmente, todos os três níveis de API do xamarin são definidos com o mesmo valor. Sobre o aplicativo , defina compilar usando a versão do Android (framework de destino) para a versão mais recente da API estável (ou, no mínimo, para a versão do Android que tem todos os recursos necessários). Captura de tela a seguir, a framework de destino é definida como 7.1 Android (API nível 25 - Nougat):

No manifesto do Android , defina a versão do Android mínimo Use compilar com SDK versão e defina a versão de destino Android para o mesmo valor que a versão do Framework de destino (no exemplo a seguir captura de tela, a framework de destino Android é definida como 7.1 Android (Nougat)):

Se você quiser manter a compatibilidade com versões anteriores com uma versão anterior do Android, defina mínimo Android versão destino para a versão mais antiga do Android que você deseja que seu aplicativo para dar suporte. (Observe que 14 de nível de API é o nível de API mínimo necessário para serviços do Google Play e suporte de Firebase.) A configuração de exemplo a seguir oferece suporte a versões Android na 14 de nível de API por meio do nível de API 25:

Se seu aplicativo dá suporte a várias versões Android, seu código deverá incluir verificações de tempo de execução para garantir que seu aplicativo funcione com a configuração de versão mínima Android (consulte verificações de tempo de execução para versões Android abaixo para obter detalhes). Se você estiver consumindo ou criar uma biblioteca, consulte níveis de API e bibliotecas abaixo para práticas recomendadas na API de configuração de nível de configurações de bibliotecas.

Fonte: https://docs.microsoft.com/pt-br/xamarin/android/app-fundamentals/android-api-levels?tabs=vswin

Marcelo,

Parou de funcionar também. O app rodava no emulador com Android 8, assim como no meu celular.

Eu já vi essa questão do target framework, está pra versão 27, que é o Android 8.

Marquei bobeira em não ter testado na versão do Android 7. Farei isso quando chegar em casa.

solução!

Marcelo,

Fiz o que você citou na resposta. O target do meu projeto era Android 8 (API Level 26*). Mudei para API Level 27, mesmo não tento imagem do android 8.1, e mesmo assim continuou não rodando o app no android 8. Mas funciona se eu colocar no android 7.1.

Acredito que seja alguma atualização que ainda não apareceu.

  • Citei errado na resposta anterior, API Level 27 é o android 8.1;