Android 4.4 KitKat cambia su máquina virtual a ART, ¿por qué?

Como bien sabréis, la máquina virtual del sistema operativo Android es Dalvik, y así ha sido desde el día que nació. Sin embargo, con la nueva versión del sistema operativo móvil de Google, Android 4.4 KitKat, hemos podido ver que Google ha introducido la consola ART como posible para los desarrolladores. Eso está muy bien, pero, ¿qué significa que Android cambie su máquina virtual Dalvik por ART y cómo podría afectar al “usuario de a pie” en el futuro más próximo? Os explicamos todo de manera fácil, para que todos nos entendamos.
En primer lugar, habría que comprender un poco el funcionamiento de Android. Recordemos que éste se basa en Linux, motivo por el cual es necesario el uso de una máquina virtual para ejecutar los procesos y las aplicaciones (Dalvik se encarga de compilar los archivos Class de Java en archivos ODEX). Y es que, precisamente en este punto es donde comenzamos a comprenderlo todo. Tanto “Oracle” como “Flexycore” tienen que ver en esta novedad de Android 4.4 KitKat.

La reciente compra de Flexycore tiene que ver con ART.
El mes pasado os contábamos que Google había comprado una compañía francesa llamada Flexycore, que podría dotar a nuestros dispositivos obsoletos de una “segunda vida”. Pues bien, como ya avisábamos, los chicos de Flexycore comenzaron hace algún tiempo a trabajar “codo con codo” con el núcleo de Android, de lo cual ya hemos podido ver resultados con Android 4.4 KitKat. Tal y como nosotros adelantábamos, Android 4.4 KitKat es una nueva versión del sistema operativo que se puede instalar en dispositivos algo “anticuados”, puesto que sólo requiere de 512 MB de memoria RAM. Además de lo anterior, Android 4.4 KitKat implementa una nueva maquina virtual desarrollada por Flexycore, ART. Estas dos son las novedades que vienen como producto de la compra de Flexycore pero, ¿a qué vendría un cambio de máquina virtual en Android?
Google quiere dejar atrás Java y tomar el lenguaje C++
Aunque no es seguro, se rumorea que Google habría llevado a cabo este “salto” por los problemas que en el pasado ha tenido con Oracle (Java). Con la nueva máquina virtual, cuando sea implementada al cien por cien, podrían dejar atrás Java y lanzarse directamente al lenguaje C++, lo que resolvería este tipo de conflictos y, además, supondría un salto hacia delante para el sistema operativo móvil de Google, Android. Con Android 4.4 KitKat ya podemos activar la máquina virtual ART (en los ajustes de desarrollador), pero aún no nos ofrece más que problemas y contratiempos, algo que próximamente cambiará y tendrá ciertas repercusiones para usuarios y desarrolladores.
¿En qué afecta a cada uno el cambio de máquina virtual?
El cambio de Dalvik a ART, además de afectar al “usuario final”, también repercutirá sobre los desarrolladores de aplicaciones para el sistema operativo móvil de Google, Android. En primer lugar, y esto tampoco hay que tomarlo al pie de la letra, Android se volvería más rápido y fluido, además de que ofrecería un considerable ahorro energético y, como consecuencia, una mayor autonomía para los dispositivos. Por otra parte, nos encontramos con que el sistema operativo se volvería algo menos “accesible” a desarrolladores menos experimentados, lo cual se vería quizá compensado por las nuevas posibilidades en desarrollo que ofrecería el cambio de lenguaje a C++.


www.asociacionaepi.es



Las mejoras de seguridad en Android 4.4

Todos sabemos que Android 4.4, viene cargada de novedades, muchas de ellas visibles pero hay otras que vienen en su interior que mejoran para proteger al usuario, os hablamos de los mejoras de seguridad.
Estas mejoras corrigen los bugs detectados en anteriores informes de seguridad, incluso mejoran el sistema para complicar la introducción a las distintas capas de seguridad. Os describimos los siguientes:

SELinux en Enforce Mode

SELinux fue introducido en la versión 4.3 como un sistema de control para acceder al núcleo de linux para evitar ataques de escalado de privilegios, este sistema esta en modo permisivo y se cambia en esta nueva versión a enforcing mode.

Soporte de claves de cifrado de curva elíptica (ECDSA) en 

AndroidKeyStore

Aunque este tipo de cifrado ha sido criticado, se incluye en el almacén de contraseñas de Android, dando soporte para claves de firma de Curva Elíptica. Es una alternativa para los desarrolladores pero la sigue siendo la mejor opción para un almacenamiento de datos a largo plazo la selección de cifrado simétrico.

Avisos de Cifrados sospechosos SSL CA

Android 4.4 incluye una clave CA adicional (Certificado de Autoría), que nos avisará si nuestro dispositivo recibe algún certificado SSL CA sospechoso.

Detección automática de desbordamiento de pila

La nueva versión de Android esta compilado FORTIFY_SOURCE a nivel 2, lo que nos asegura que todo el código esta compilado con esta protección. Dicha característica del compilador identifica oportunidades de overflow que pueden ser explotadas por cualquier aplicación, este sistema no elimina esos agujeros pero seguramente en la próxima versión solucionen este tipo de agujeros. Creo que mas bien quieren recoger un informe de errores para poder encontrar una solución mas adelante. Algo es algo.

Google Certificate Pinning

Este certificado nos permite ejecutar certificados SSL que serán recogidos en una lista de manera de los que no estuvieran denegarían ese acceso. Este sistema evita ataques de tipo man-in-the-middle a la hora de aceptar un certificado válido SSL CA, dotando así de una doble seguridad haciendo más difícil la tarea.

www.asociacionaepi.es




Como configurar Android en Netbeans

Esta entrada está dedicada a aquellas personas que no les convence mucho la idea de usar Eclipse para desarrollar en Android por el motivo que sea. Lo primero que debemos hacer es descargarnos el plugin desde la siguiente dirección: http://plugins.netbeans.org/plugin/19545/nbandroid

Una vez descargado debemos descomprimirlo en nuestro ordenador.

Ahora para configurar Netbeans y poder crear nuestros proyectos de Android, tenemos que hacer lo siguiente:

  • Abrimos NetBeans.
  • Vamos al menú Herramientas/Plugins, esperamos a que la ventana se cargue y entramos en la pestaña Descargados.
  • Presionamos el botón Agregar.
  • Buscamos la carpeta que descomprimimos antes y seleccionamos los archivos.
  • Empezará a instalar y nos pedirá que reiniciemos Netbeans.
  • Y eso es todo.

Nos vemos en próximas entradas Developers!.