Android s'exécute sur une énorme gamme d'appareils et de versions du système d'exploitation (« fragmentation »), donc les applications doivent gérer la compatibilité des versions — supporter les anciennes versions tout en utilisant les nouvelles fonctionnalités de manière sûre. Comprendre les niveaux de SDK, les bibliothèques de compatibilité et la dégradation gracieuse est important.
Niveaux de SDK : min, target, compile
minSdk → the OLDEST Android version the app supports (older devices can't install it)
→ lower minSdk = more devices reached, but more compatibility work
targetSdk → the version the app is TESTED/optimized against (and opts into its behaviors)
→ should be kept current (Play requires a recent targetSdk)
compileSdk → the SDK version used to COMPILE (access to newer APIs)
→ Balance: support enough old devices (minSdk) while targeting current behavior (targetSdk).
