Le SDK (kit de développement logiciel) d'Android fixe une version minimale d'Android qu'il prend en charge, comme l'explique une autre question-réponse :
https://stackoverflow.com/q/24441178/1836461
https://stackoverflow.com/a/61087797/1836461
Les développeurs/entreprises (appelés "développeurs" à partir de maintenant) peuvent choisir de prendre en charge les anciennes versions, mais il devient difficile de maintenir ce code. En tant que développeur, il peut être difficile de se souvenir de la signification des paramètres ou des commandes pour les différentes versions d'un système d'exploitation. Certaines de ces différences sont même dépréciées (désapprouvées) ou complètement supprimées des SDK les plus récents, ce qui rend difficile ou impossible le maintien de la rétrocompatibilité. Et parfois, elles sont supprimées pour de bonnes raisons, ce qui signifie généralement qu'elles présentent des problèmes de sécurité importants.
Et ce n'est pas parce que l'application est abandonnée qu'il n'y a pas de version plus récente disponible. Certaines entreprises peuvent réécrire complètement leur logiciel (pour diverses raisons, notamment pour se débarrasser d'une grande quantité de code hérité inutile), puis le publier en tant qu'application distincte, en laissant la version précédente disponible, ce qui constitue leur idée de la rétrocompatibilité.
En fait, la plupart des développements de logiciels non mobiles se font de cette manière. L'ancienne version est toujours disponible quelque part lorsqu'une nouvelle version est publiée. Les boutiques mobiles comme Google et Apple n'ont pas de moyen facile pour un utilisateur d'obtenir des versions plus anciennes, même si le développeur peut toujours voir ces anciennes versions.
Autres raisons
Une entreprise peut également décider que sa méthode de communication (protocoles) doit être mise à jour en fonction de spécifications plus récentes qui ne sont pas disponibles dans les anciennes versions du SDK. Si vous avez une application écrite dans un ancien SDK qui fonctionne avec d'anciens téléphones, mais que vous devez/décidez de mettre à niveau ces protocoles vers une version de sécurité que l'ancienne version ne supporte pas, vous devrez peut-être supprimer une partie de la rétrocompatibilité pour avoir accès aux nouvelles normes dans un SDK plus récent. Et si vous devez réécrire complètement une application, il est plus logique de le faire dans le dernier SDK, plutôt que dans un SDK qui sera à nouveau complètement dépassé dans un ou deux ans.
Même s'il s'agit simplement de réécrire une application pour la nettoyer, supprimer les fonctionnalités inutiles, refaire l'interface utilisateur/expérience utilisateur (UI/UX), ou pour 100 autres raisons, l'utilisation du SDK le plus récent est également la plus judicieuse.
La réponse dont j'ai donné le lien ci-dessus parle de 25% des utilisateurs de Twitter qui sont ignorés à cause des changements de plateforme dus à une mise à jour de l'application. Eh bien, ces 25 % sont les anciens téléphones qui seront probablement le groupe de téléphones qui diminuera le plus rapidement. Ils finiront par être cassés, tomberont, la batterie sera détruite sans qu'aucun remplacement ne soit disponible, ou pour un millier d'autres raisons, y compris les autres applications qui cesseront de les prendre en charge. Je ne dis pas que c'est une bonne idée d'empêcher autant d'utilisateurs d'utiliser votre application d'un seul coup, mais de toute évidence, ils pensaient pouvoir y survivre.
Exemple parallèle
Sur le marché des navigateurs pour ordinateurs de bureau, Chrome est le grand leader en termes d'utilisation.
https://netmarketshare.com/browser-market-share.aspx
https://en.wikipedia.org/wiki/Usage_share_of_web_browsers
À mesure qu'Internet Explorer (IE), Edge, Gecko, Firefox, Safari et d'autres sont tombés en désuétude, les développeurs cessent de faire autant de compatibilité entre navigateurs. Pour quelqu'un qui l'a fait aussi, c'est un véritable casse-tête, surtout lorsque la compatibilité parfaite des pixels est exigée, ce qui est pratiquement impossible. J'ai 5 navigateurs installés pour cette raison, mais je n'en utilise qu'un seul pour naviguer.
Certaines entreprises insisteront pour prendre en charge IE et Edge, car "ils sont installés par défaut sur les ordinateurs et la plupart de nos utilisateurs ne savent pas qu'il faut installer autre chose". Le fait que peu de personnes utilisent réellement IE ou Edge n'a pas d'importance, car "les statistiques proviennent de sites où la plupart des utilisateurs sont des développeurs ou des utilisateurs d'ordinateurs de haut niveau". Mais la réalité est que la majorité des navigateurs ne valent pas la peine d'être supportés. Les gens ne supportent plus Netscape Navigator, même si quelqu'un utilise encore Win 3.11 for Workgroups, Win 98SE ou Mac OS 8.5.
Conclusion
Ce que je veux dire, c'est qu'à un moment donné, il faut fixer une limite à ce que l'on va supporter, car les anciennes versions cessent d'être utiles ou utilisables à la fois par l'utilisateur et le développeur.
Consacrer du temps, de l'argent et des efforts à d'anciennes versions qui ne sont pas très utilisées n'est généralement pas une bonne utilisation des ressources.
Parfois, il s'agit strictement d'un idéal de "faire plus d'argent", en ce sens que le développeur veut vous forcer à acheter la nouvelle version, mais ce n'est pas toujours le cas. Il est plus logique pour les développeurs de consacrer plus de temps aux nouvelles fonctionnalités et aux bogues pertinents dans une nouvelle version qu'aux nouvelles fonctionnalités et aux bogues dans l'ancienne version.
0 votes
Vous pouvez installer l'ancienne version de l'application depuis le miroir apk
12 votes
"Cela leur coûte-t-il beaucoup de continuer à prendre en charge les anciennes versions du système d'exploitation ?" - Oui, cela coûte de l'argent. Le développeur a décidé que sa base d'utilisateurs Android v6 est si petite que l'abandon du support n'affecterait pas ses statistiques d'utilisation de manière notable.
1 votes
Pourriez-vous envisager la situation dans l'autre sens, et réfléchir à l'effort à fournir pour que les nouvelles versions d'Android prennent en charge les anciennes applications ?
0 votes
Vous pouvez aller sur xda pour voir s'il existe une version personnalisée d'une nouvelle version d'Android pour votre téléphone.
0 votes
Le support de quelque chose d'ancien coûte de l'argent et limite le temps et les efforts qui peuvent être investis dans des améliorations sans en tirer de réels avantages. Les gens ont donc tendance à abandonner le support si la base d'utilisateurs tombe en dessous du point où il vaut la peine de le maintenir. En plus de cela, les changements dans les versions d'Android nécessitent généralement de changer la façon dont les choses fonctionnent, donc vous avez besoin de doubler le travail - une fois pour faire fonctionner l'ancienne version, et pour chaque nouvelle version possible la même chose mais juste d'une manière différente - tout cela coûte beaucoup d'argent juste pour maintenir sans aucune amélioration ou investissement supplémentaire.
0 votes
Nous vivons dans un monde où tout est à jeter
0 votes
Cela fait environ 10 ans que j'ai pris ma retraite, mais les dernières années de ma carrière, j'ai travaillé sur des applications pour smartphones, sur plusieurs systèmes d'exploitation différents. Je peux vous dire qu'un problème difficile dans le développement d'applications complexes était que le système d'exploitation modifiait assez souvent les détails de ses fonctionnalités, de sorte que vous deviez passer plusieurs semaines tous les six mois environ à mettre à niveau les choses. Et vous n'aviez aucun moyen de savoir si une modification du système d'exploitation affectait une version différente d'une version ultérieure. Il était plus facile d'abandonner le support des anciennes versions du système d'exploitation, plutôt que de devoir les tester.