🚀 8.2 Estratégias de Versionamento e Compatibilidade
Diferente dos primórdios do Android, hoje a fragmentação de versões é gerenciada de forma muito mais eficiente. No Android Studio 2023.1, o foco mudou da “sobrevivência” em versões antigas para a “inovação” com segurança através das bibliotecas AndroidX.
Definindo o Alcance (minSdk e targetSdk)
No build.gradle, definimos as fronteiras do nosso app:
- minSdk (Mínimo): Define o dispositivo mais antigo que pode instalar seu app. Recomendamos API 26 (Android 8.0) para garantir suporte a 95% do mercado com segurança moderna.
- targetSdk (Alvo): Indica para qual versão seu app foi otimizado. Para o BoaViagem, utilizamos a API 34 (Android 14) para aproveitar as últimas proteções de privacidade e performance.
Checagem em Tempo de Execução (Java 17)
Às vezes, queremos usar um recurso que só existe nas versões mais novas (como o Cresential Manager). Para isso, utilizamos verificações limpas:
private void aplicarRecursoModerno() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
// Recurso exclusivo do Android 13+
solicitarPermissaoNotificacao();
} else {
// Comportamento legado seguro
}
}Filtragem por Hardware (uses-feature)
Para que seu app não seja instalado em dispositivos que não possuem o hardware necessário, utilize o filtro uses-feature no Manifesto:
<!-- O app exige GPS para registrar viagens -->
<uses-feature android:name="android.hardware.location.gps" android:required="true" />
TIP
> Utilize o **Android Studio SDK Index** para verificar se uma biblioteca de terceiros que você pretende usar ainda é compatível com sua `minSdk` e se ela segue as políticas de privacidade do Google Play.
---
[[Informática para Internet/Desenvolvimento para Dispositivos Móveis II/capitulo_073|⬅️ Capítulo Anterior]] | [[Informática para Internet/Desenvolvimento para Dispositivos Móveis II/capitulo_075|Próximo Capítulo ➡️]]