El SDK (kit de desarrollo de software) de Android establece una versión mínima de Android que admite, como se explica en otra pregunta y respuesta:
https://stackoverflow.com/q/24441178/1836461
https://stackoverflow.com/a/61087797/1836461
Los desarrolladores/empresas (a los que nos referiremos como "desarrolladores" a partir de ahora) pueden optar por dar soporte a una versión más antigua, pero resulta difícil mantener ese código. Hablando como desarrollador, puede ser difícil recordar qué ajustes o comandos significan para las diferentes versiones de un sistema operativo. Algunas de estas diferencias son incluso obsoletas (desaprobadas) o completamente eliminadas de los nuevos SDKs, lo que hace difícil o imposible mantener la compatibilidad hacia atrás. Y a veces se eliminan por buenas razones, lo que suele significar que tienen importantes problemas de seguridad.
Y el hecho de que la aplicación haya caído, no significa que no haya una versión más nueva disponible. Algunas empresas pueden reescribir su software por completo (por diversas razones, como deshacerse de grandes cantidades de código heredado innecesario), y luego publicarlo como una aplicación independiente, dejando la versión anterior disponible como su idea de compatibilidad hacia atrás.
De hecho, la mayor parte del desarrollo de software no móvil se hace así. La versión antigua sigue estando disponible en algún lugar cuando se lanza una nueva versión. Las tiendas de móviles como Google y Apple no tienen una forma fácil de que un usuario obtenga versiones antiguas, aunque el desarrollador pueda seguir viendo esas versiones antiguas.
Otros motivos
Una empresa también puede decidir que su método de comunicación (protocolos) necesita actualizarse a especificaciones más nuevas que no están disponibles en las versiones antiguas del SDK. Si tienes una aplicación escrita en un SDK antiguo que funciona con teléfonos antiguos, pero necesitas/decides actualizar esos protocolos a una versión de seguridad que la versión antigua no admite, es posible que tengas que eliminar parte de la compatibilidad con versiones anteriores para acceder a los nuevos estándares en un SDK más reciente. Y si vas a reescribir completamente una aplicación, tiene más sentido hacerlo en el último SDK, en lugar de uno que estará completamente obsoleto de nuevo en 1-2 años.
Incluso si se trata de reescribir una aplicación para limpiarla, eliminar funcionalidades innecesarias, rehacer la interfaz de usuario/experiencia de usuario (UI/UX), o por otras 100 razones, utilizar el SDK más reciente también tiene mucho sentido.
La Respuesta que he enlazado más arriba habla de que el 25% de los usuarios de Twitter son ignorados por los cambios en la plataforma debido a una actualización de la app. Pues bien, ese 25% son los teléfonos más antiguos que probablemente serán el grupo de teléfonos que más rápido se reduzca. Al final se romperán, se caerán, se arruinará la batería sin que haya recambios disponibles, o un millar de razones más, incluyendo que otras apps dejen de darles soporte. No digo que sea un buen movimiento eliminar a tantos usuarios del uso de tu aplicación de una sola vez, pero evidentemente pensaron que podrían sobrevivir a ello.
Ejemplo paralelo
En el mercado de los navegadores de escritorio, Chrome es el gran líder en uso.
https://netmarketshare.com/browser-market-share.aspx
https://en.wikipedia.org/wiki/Usage_share_of_web_browsers
A medida que Internet Explorer (IE), Edge, Gecko, Firefox, Safari y otros han caído en desuso, los desarrolladores dejan de hacer tanta compatibilidad entre navegadores. Como alguien que ha hecho eso también, es un total PITA, especialmente cuando un requisito es la compatibilidad perfecta de píxeles, que es casi imposible. Tengo 5 navegadores instalados por esta razón, pero sólo uso 1 para navegar.
Algunas empresas insistirán en dar soporte a IE y Edge, porque "está instalado por defecto en los ordenadores y la mayoría de nuestros usuarios no saben instalar otra cosa". No importa que poca gente use realmente IE o Edge, porque "las estadísticas se toman de sitios donde la mayoría de los usuarios son devs o usuarios de ordenadores de alto nivel". Pero la realidad es que la mayoría de los navegadores no valen la pena el tiempo de soporte. La gente ya no da soporte a Netscape Navigator, incluso si hay alguien que todavía ejecuta Win 3.11 for Workgroups, Win 98SE, o Mac OS 8.5.
Conclusión:
Lo que digo es que en algún momento hay que poner un límite a lo que se va a soportar, ya que las versiones antiguas dejan de ser útiles o utilizables tanto por el usuario como por el desarrollador.
Gastar tiempo, dinero y esfuerzo en versiones antiguas que no se utilizan mucho no suele ser un buen uso de los recursos.
A veces esto es estrictamente un ideal de "ganar más dinero", en el sentido de que el desarrollador quiere obligarte a comprar la nueva versión, pero no siempre es así. Para los desarrolladores tiene más sentido dedicar más tiempo a las nuevas funciones y a los fallos relevantes de una nueva versión que a las nuevas funciones y a los fallos de la versión antigua.
0 votos
Usted puede instalar la versión antigua de la aplicación desde el espejo apk
12 votos
"¿Les cuesta mucho continuar con el apoyo a las versiones anteriores del sistema operativo también?" - Sí, cuesta dinero. El desarrollador ha decidido que su base de usuarios de Android v6 es tan pequeña que dejar de dar soporte no afectaría a sus estadísticas de uso de forma notable.
1 votos
¿Podría usted considerar esto al revés, y considerar cuánto esfuerzo debe hacerse para que las nuevas versiones de Android sean compatibles con las aplicaciones antiguas?
0 votos
Puedes ir a xda para ver si hay una compilación personalizada de una versión más reciente de Android para tu teléfono
0 votos
Dar soporte a algo antiguo cuesta dinero y limita el tiempo y el esfuerzo que se puede invertir en mejoras sin tener ningún beneficio real de ello, por lo que la gente tiende a abandonar el soporte si la base de usuarios cae por debajo del punto en el que merece la pena mantener el soporte. Además de eso, los cambios en las versiones de Android suelen requerir un cambio en el funcionamiento de las cosas, por lo que se necesita el doble de trabajo: una vez para hacer que la versión antigua funcione, y para cada nueva versión posible lo mismo pero sólo de una manera diferente - todo eso cuesta mucho dinero sólo para mantener sin ninguna mejora o inversión adicional.
0 votos
Vivimos en un mundo de usar y tirar
0 votos
Hace unos 10 años que me retiré, pero los últimos años de mi carrera trabajé en aplicaciones para teléfonos inteligentes, en un par de sistemas operativos diferentes. Puedo decir que uno de los problemas del desarrollo de aplicaciones complejas era que el sistema operativo cambiaba los detalles de sus características con bastante frecuencia, por lo que había que pasar varias semanas cada 6 meses actualizando las cosas. Y no tenías forma de saber si un cambio en el sistema operativo afectaba a una versión diferente de la posterior. Era más fácil dejar de dar soporte a las versiones antiguas del SO, en lugar de tener que probarlas.