Saltar al contenido

Versiones de Android y Errores raros

Cuando nos encontramos con errores que le pasan a muy pocos, tenemos que estar atentos a la versi贸n de Android del terminal. Y lo digo porque siempre se me olvida a m铆.

驴C贸mo funcionan las versiones en Android a grosso modo? Cuando trabajamos en android definimos dos par谩metros (que en verdad son 3, pero con 2 nos vale)

Versi贸n m铆nima: indica la versi贸n m谩s baja con la que somos compatible. Cada vez que se programa con algo 芦novedoso禄, puede que haya que tocar el c贸digo para que sea compatible con versiones m谩s antiguas. Los desarrolladores podemos no darnos cuenta de que hay que hacerlo de alguna forma especial para estas versiones.


Versi贸n objetivo: indica la versi贸n m谩xima cuyas funcionalidades podemos usar. Es decir, si sacan algo nuevo para android 9.0 y nosotros apuntamos a esta versi贸n, es posible que fallen cosas de versiones anteriores a android 9.0, cambiar este par谩metro es peligroso pero como intentamos que las apps est茅n lo m谩s actualizadas posibles, lo cambio siempre que hay algo nuevo. Igual que en el caso anterior, no podemos saber generalmente (salvo excepciones) que puede fallar en otros niveles de API.

Entonces, si la m铆nima es la 4.0 como en nuestro caso y la m谩xima es la 9.0, 驴significa eso que cuando saquen la 10 no funcionar谩 la app? No, la app deber铆a funcionar perfectamente excepto casos aislados como lo fue Android 6.0 con el tema de los permisos. Es cuando intentemos usar algo de Android 10, (y cambiemos ese numerito en la app) cuando podr谩 fallar en versiones anteriores.

驴Como se har铆an las pruebas perfecta? Pues haciendo que los desarrolladores hagan tests y usando firebase para que se testen 7000 dispositivos simult谩neamente online.

驴C贸mo deber铆amos hacer unas pruebas decentes al menos? Pues haciendo la bater铆a de pruebas con un Android 4.0 y otro con un 9.0 en este caso (De nada, Jose Lu铆s).

Pero con lo que quiero que os qued茅is en general es que, si hay problemas puntuales, miremos en que extremo est谩 el terminal. Si, por ejemplo, tenemos problemas con android 4.4 o android 5, pues tendr铆amos que probar en un android 4.0, 4.1, 4.4, 5.0. Si tienen problemas en un 8.0, habr铆a que vigilar los 8.0, 9.0, antes de decidir que es un problema de su propio m贸vil. Si ocurriese en un 6.0 o 7.0, que est谩n ah铆 en el medio, pues es poco probable que sea por la versi贸n de Android.

Liando a煤n m谩s el tema, 驴 C贸mo se generan versiones del SO de Android? Pues Google trabaja en el SO y saca una versi贸n gratuita y libre para todo el mundo, llamada AOSP. A partir de entonces Google le mete sus cosas, al igual que Xiaomi le mete sus cosas y generan sus SO (Android / MIUI / OxigenOS /…) Y por 煤ltimo, dejan a los fabricantes que a帽adan su capa de mierda personalizaci贸n y adem谩s que implementen ciertos comportamientos de Android.

La 煤ltima gran pregunta, 驴Porqu茅 os estoy contando esta mierda? Porque resulta que, por ejemplo, google puede haber decidido cambiar c贸mo funciona lo del mock location hace a帽os pidiendo que se use un m茅todo nuevo pero permitiendo que, quien quiera, pueda seguir usando el m茅todo viejo y coge Samsung y lo implementa en todos sus terminales. Y un d铆a sacan el Galaxy 9+ y dicen, a tomar por culo, paso de implementar esto, que est谩 en desuso… Y entonces ATM falla y vemos las versiones y decimos, joer, si en otro android 9.0 funciona bien, seguro que no tiene que ver… As铆 que s铆, la versi贸n de Android ha influido tremendamente en esta incidencia tambi茅n, pero no era el 煤nico factor a tener en cuenta…