Google sigue luchando para presentar un sistema operativo cada día más competente mejorando la seguridad y rendimiento. Pero es verdad que de nada sirve si la comunidad de desarrolladores Android siguen creando aplicaciones desde versiones antiguas, sin aprovechar todos los avances y mejoras que ofrecen las últimas versiones. Es por ello que Google lleva tiempo avisando de que aplicaría ciertas medidas que exigirán que las apps usen las ventajas de las versiones más recientes de Android. Pues bien, este momento ya ha llegado. 

Existen tres medidas que Android va a aplicar a lo largo de este año 2018 y que, como máximo en 2019 (según el caso), serán obligatorias para todas las apps de nueva creación o las actualizaciones de las apps ya existentes en Google Play. En el post de hoy te explicamos las medidas que la gran G te va exigir en tus apps Android.

Apps apuntando a versión reciente de Android

Para entender qué significa esto, primero debemos conocer el concepto que hay detrás de un parámetro que contiene el Manifest, que incluye toda app Android. Este parámetro se llama “targetSdkVersion” y su significado es que el código que contiene dicha aplicación está pensado para ejecutarse en una versión concreta de Android, la cual le indicamos.
¿Qué aporta este parámetro? Indica la versión de Android para la cual está pensada el código. En función de la versión de Android donde ejecutemos la app, el sistema operativo deberá habilitar o deshabilitar ciertos mecanismos de compatibilidad. Esto hace que la aplicación que has desarrollado tenga el aspecto y funcionamiento deseado independientemente de la versión de Android en la cual se ejecute. ¿Y qué implica exactamente? Dependiendo de a qué versión estés apuntando, el sistema operativo aplicará unos comportamientos de compatibilidad u otros, además de usar (o no) ciertas características de Android. Una buena práctica de programación es tener este número entero apuntando a la versión más reciente de Android para así poder incorporar a tu app las mejoras de seguridad y rendimiento más recientes del sistema operativo de Google.

Bien, ahora que ya conocemos el significado de este parámetro, podemos explicar cuál es la medida que va a adoptar Android de ahora en adelante:

  • A partir de este mismo agosto, será obligatorio que las apps de nueva creación que se suban a Google Play apunten a la API de Android 26 (Android Oreo 8.0) o superior.
  • Para noviembre de 2018, se obligará también a que lo apliquen las apps existentes en Google Play que quieran subir una actualización de la misma.
  • A partir de 2019, se irá incrementando este valor mínimo. Durante el plazo de un año después de cada nueva release Android, este valor se incrementará y se deberá apuntar a dicha versión o una más reciente.

Como ejemplo de comportamientos que han cambiado con respecto a versiones anteriores de Android, podríamos mencionar la petición de permisos al usuario en tiempo de ejecución que se introdujo en Marshmallow (Android 6.0) o el hecho de que las apps no puedan acceder a cuentas del usuario sin un permiso explícito, introducido en Oreo (Android 8.0). Al obligar a que las apps apunten a la API 26 de Android como mínimo, estos comportamientos serán de uso obligatorio, con lo cual la seguridad y la privacidad se verán incrementadas.

Soporte a arquitecturas de 64-bit

En Android existen una enorme variedad de dispositivos, pero esto no solo se traduce en distintos tamaños de pantalla, sino que también están construidos sobre distintos tipos de arquitecturas (NEON, x86 y MIPS).

Android empezó a dar soporte a arquitecturas de 64 bits en Lollipop (Android 5.0). Actualmente, más del 40% de los dispositivos que se conectan a los servicios de Google dan soporte a arquitecturas de 64 bits, mientras mantienen la compatibilidad con arquitecturas de 32 bits.

Lo habitual es que una arquitectura de 64 bits ofrezca un mejor rendimiento que una de 32. Android, anticipándose a futuros dispositivos que sólo den soporte a 64 bits, requerirá que cualquier aplicación que use bibliotecas nativas proporcione, ya sea dentro del mismo APK o generando un APK aparte para ello, versiones para arquitecturas de 64 bits además de las versiones de 32 bits.
Si las aplicaciones no incluyen ninguna biblioteca nativa, esta medida no les afectará. Esto tampoco implica que Google Play Console deje de dar soporte a las arquitecturas de 32 bits. Simplemente se avisa a los desarrolladores que sus apps todavía no admiten 64 bits, para planificar la transición con tiempo suficiente, ya que esta medida se va a adoptar a partir de agosto de 2019.

Incorporar metadata en los APK

Para mejorar la autenticidad de los archivos APK que nos instalamos en nuestros dispositivos, Android va a añadir una serie de metadatos a estos archivos. Para entenderlo, un símil de estos metadatos podría ser la etiqueta que llevan los productos que compramos, la cual nos asegura que ese producto lo ha creado o distribuido la empresa en la que confiamos.

Esta medida no va a suponer ninguna acción por parte del usuario final ni del desarrollador de la aplicación, Google ya ha tenido en cuenta la diferencia de tamaño que este cambio va a suponer en los APK y el único cambio que habrá es que Google Play Console añadirá una serie de datos automáticamente en el momento de firmar el APK y estos le servirán para verificar que efectivamente esa app se ha distribuido a través de Google Play Console.

Con estas medidas, podemos ver que Android quiere que su ecosistema sea más seguro y actualizado. El hecho de obligar a apuntar a la versión de Android más reciente a año vista de cada lanzamiento, va a hacer que los desarrolladores que quieran mantener sus aplicaciones actualizadas, se vean obligados a ir aplicando las novedades que Android vaya introduciendo.

Un ejemplo práctico es el uso de los permisos en tiempo de ejecución  introducido en Android 6.0 (API 23). Esto implica que la app te pide permiso para acceder a tus contactos, ubicación o cualquier otro permiso cuándo lo necesita (no al instalar la aplicación), siempre y cuando no se lo hayas concedido ya previamente. Pero si en tu app tienes definido un targetSdkVersion menor que 23, no es obligatorio que implementes esta característica, a pesar de que tu app se pueda usar igualmente en versiones más recientes de Android si así lo deseas.

En las últimas versiones de Android se han introducido otras novedades para mejorar la privacidad de los datos y la experiencia de usuario para evitar un uso excesivo de recursos como la batería o la memoria. Por lo que en los próximos meses toda app que quiera estar actualizada deberá implementarlas, ¡una muy buena noticia para todo usuario Android!

Y a vosotros ¿qué os parecen todas estas medidas? ¿Habéis empezado a trabajar en ello? ¡¡Que no os pille el toro!!

Nuestro SlashBoy David Rosell, Mobile Developer, es el autor de este post.

Recommended Posts

Leave a Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.