De Ubuntu a Flyme en el Meizu MX4: Experiencia con un smartphone chino

Meizu MX4 Flyme

El tiempo libre es un mal aliado… Hace que me de por “toquetear” las cosas que tengo por casa, y esta vez le ha tocado el turno al Meizu MX4 Ubuntu Edition, del que ya hice su oportuna review a una semana de usarlo como móvil principal.

Aprovechando que además tengo otro terminal con Ubuntu Phone, y que este era el primer smartphone chino (comercial, que los de desarrollo no cuentan 🙂) que caía en mis manos, me dio por probar si sería posible instalarle la ROM Flyme de Android, que es la que viene de stock en todos los terminales de Meizu.

Algunas cuestiones a considerar frente a terminales chinos

Lo he dicho por activa y por pasiva, y no me importa repetirlo. Cuando compramos un terminal chino, aceptamos que vamos a enfrentarnos a un entorno, cuanto menos, distinto al que nos tiene habituados un dispositivo dirigido al mercado occidental. A saber:

  • La mayoría vienen sin Google Apps: Las aplicaciones de Google vienen instaladas por defecto en todos los terminales dirigidos al mercado occidental. Pero en china no se usan. Por tanto, hay que descargarlas aparte. Algunas veces, instalándolas desde el ordenador, otras, como en este caso, buscando Google Installer en el market de Meizu, que nos instalará de paso Google Play.

Google Installer meizu

  • El soporte a nuevas versiones “oficiales” no está asegurado: El mundo oriental es muy distinto al nuestro. Compañías como Meizu y Xiaomi son quizás la excepción. Están ofreciendo a la comunidad continuamente ROMs, cada vez con más funcionalidades (menos experiencia AOSP), y de paso nuevos bugs (arreglan algunos y aparecen otros, que vuelven a ser arreglados a la semana para aparecer otros 🙂). Pero es que en el resto de compañías low cost, la cosa está mucho peor (terminales que salen al mercado con una versión específica y jamás reciben actualización). Ya ni hablemos de terminales clónicos…
  • Una experiencia de usuario muy controlada: A cambio, lo que obtienes en estas ROMs es una experiencia muy controlada por la compañía, y que en casos como Meizu y Xiaomi, está muy pero que muy cuidada. Por poner algunos ejemplos, además de un apartado visual que al menos a un servidor le encanta, Flyme ofrece de base en el menú de la pantalla de notificaciones, además de los clásicos (WIFI, datos, Bluetooth, Brillo,…), algún otro muy útil como linterna, punto de acceso WIFI o VPN. Los ajustes de Flyme OS son de lo más completo y ordenado que he visto en mucho tiempo, con opciones para los más exigentes (como la de que en vez de tener una barra inferior, tengamos el gesto de deslizar el botón inferior hacia arriba para volver atrás, o que al dibujar algún gesto en la pantalla se abran distintas aplicaciones). Y lo que más me ha gustado: Cada aplicación pide los permisos EN TIEMPO DE EJECUCIÓN, pudiendo, si así lo vemos oportuno, negarle alguno de ellos, temporal o indefinidamente. A ver si aprendemos, Google…

Flyme OS

  • Especialización frente a plataformas de apps: Es un hecho que seguramente le chocará cuando está ante un terminal chino. Flyme OS viene con un nutrido grupo de aplicaciones (que por cierto, no pueden desinstalarse) dirigidas al mercado chino… ¡en mandarín! Y con otras tantas de las habituales (reproductor de música, galería de fotos,…) que además de hacer muy bien el trabajo para el que han sido desarrolladas, son auténticas plataformas de servicios externos. Mientras en el mundo occidental se tiende a la paulatina división de apps en apps más pequeñas y específicas, en el mercado oriental siguen triunfando las apps mastodónticas, que tan pronto te ofrecen escuchar tu música en local, como formar parte de una suerte de red social de música, como escuchar música en una especie de Spotify, como hacer compras en la app, gestionar una moneda propia, comprar stickers para adornar tu perfil (WTF!),… Por supuesto, puede hacer uso de algunas de estas apps (de la parte específica que nos interesa), o instalar otras más… occidentales.

Y hasta aquí puedo contar. En una tarde ya tenía el dispositivo tal cual suelo usarlo.

He tenido que cambiar el widget de Meizu que muestra la temperatura ya que al parecer solo la muestra para territorio chino.

La ROM, al no tener como tal un menú de aplicaciones, muestra en cada pestaña de la home las apps, pudiendo apilarlas en carpetas. He metido las que no voy a usar de stock en una de ellas, y repartido el resto según mi uso habitual.

Flyme OS Meizu Home

También decir que al no tener cuenta de Weibo, no me ha combinado los contactos en la agenda. Quiere decir que para cada contacto, tengo en realidad tres o cuatro (el contacto de Google, más el del WhatsApp, más quizás el de Facebook, el de LinkedIN,…). Cuando tenga un poco más de tiempo (y me entere exactamente qué hace Sina Weibo con esos contactos), quizás lo pruebe. Por ahora, he dicho que solo me muestre los contactos de Google, que son los que de verdad me importan.

Como curiosidad, me ha parecido interesante la manera que tiene de gestionar la multitarea, deslizando el dedo desde el margen inferior hacia arriba, aunque echo de menos una manera de quitar todos los procesos en uso a la vez.

Flyme OS multitarea

He tardado bastante más en documentar los pasos (y encontrar información al respecto) que lo que en realidad me ha llevado hacer el flasheo, así que aprovecho para dejarlo por aquí por si a alguien más de la comunidad le sirve, y que de paso pueda ir sobre seguro, sin esas continuas piedras en el camino que me he ido encontrando.

¿Preparado? ¡Comencemos!

Un poco de documentación

Todo comienza, como viene siendo habitual, en XDADevelopers. Empiezo a navegar por sus interminables hilos, y me encuentro uno (EN) en el que comparten una screen de los ajustes de Android con el IMEI de un Ubuntu Edition. Vale, haber hay forma, ahora hay que ponerse a ello.

De ahí, y con la inestimable ayuda de Google, caigo en un hilo de Canonical (EN) que me anima a probar suerte. Me bajo la ROM de la página oficial mediante el enlace que comparten (la página está entera en mandarín, así que como para encontrar algo ahí…), reviso que dentro se encuentre el recovery y, o muy ciego estoy, o no lo veo por ningún lado. Primer bache.

Vuelvo a buscar por internet y me saco de la manga otro, que espero funcione. Conecto el terminal pero no me lo reconoce. Segundo bache. Otro ratejo buscando el ID vendor y ya estamos preparados.

¿Qué necesitamos?

Resumiendo:

  1. Un Meizu MX4 versión internacional (no puedo asegurar que funcione en el resto). Siguiendo este tutorial funciona al menos para territorio europeo y estadounidense (confirmado por otros usuarios, y por quien escribe).
  2. Cable USB-MicroUSB: Por razones obvias…
  3. Tener instalado en el ordenador adb (EN): el Android Debug Bridge es la manera que tenemos de comunicarnos con el terminal a bajo nivel. Si es desarrollador o ya ha tocado otras veces ROMs, seguramente ya lo tenga instalado. Si no, hágalo.
  4. Descargar la ROM (EN): En este caso, la versión 4.1.1A de Flyme, que equivale a Android 4.4.2. Ya sabe que estas ROM rara vez van a la par con lo que saca Google, y he preferido tirar sobre seguro que arriesgarme con una 5.1 o semejantes que suelen venir cargaditas de bugs. Esta es totalmente estable.
  5. Descargar la imagen de un recovery (enlace caducado, en comentarios propongo alternativas): Valdría cualquiera mientras fuera compatible con el Meizu MX4. Si ya viene de instalar otras ROMs, seguramente ya tenga un recovery. Este paso solo es necesario en caso de que no cuente con un recovery que permita instalar una ROM, como ocurría en los Ubuntu Phone.

Instalando la ROM

Para ello:

  • Activamos adb en el Ubuntu Phone/Android (System Settings > About this Phone >Developer Mode, o Ajustes > Opciones de Desarrollador).
  • Buscamos el archivo adb_usb.ini en la carpeta .android de nuestro ordenador (después, claro está, de haber instalado adb), y le agregamos la ID del vendor. Si lo hace por línea de comandos/terminal (en OS X), sería algo tal que así:

iMac-de-Pablo:~ PabloYglesias$ cat .android/adb_usb.ini
# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE.
0x2a45

En caso de que quiera hacerlo a la vieja usanza (buscando el archivo), recuerde que el archivo está dentro de una carpeta oculta, y que por tanto, tiene que habilitar el visionado de este tipo de carpetas. En OS X, por cierto, la forma más rápida es tecleando en la consola de comandos:

defaults write com.apple.finder AppleShowAllFiles TRUE KillAll Finder

Para volver a ocultarlas, cambiar TRUE por FALSE.

  • Para cerciorarse que adb ya reconoce el dispositivo, al escribir adb devices en la consola de comandos debería aparecerle algo como lo siguiente. Si la lista está vacía, asegúrese de haber hecho correctamente los pasos anteriores.

iMac-de-Pablo:~ PabloYglesias$ adb devices
List of devices attached
75HACL6PSCBB offline

  • Ahora empieza lo bonito :).
  • Reiniciamos el dispositivo en modo fastboot (botón de apagado + volumen DOWN). En cuanto estemos en él, tecleamos en la consola de comandos:

use adb reboot-recovery

  • Reflasheamos el terminal con el siguiente comando, cambiando recovery.img por la ruta al fichero de recovery que nos hemos bajado:

fastboot flash recovery recovery.img

  • No debería tardar más de unos segundos. Tan pronto acabe, volvemos a apagar y encendemos en modo recovery (botón de apagado + volumen UP). Si ha usado el recovery que le compartía en este tutorial, tendrá que elegir la primera opción (instalar ROM), pasar mediante USB el update.zip que ha descargado anteriormente, y darle a siguiente. En caso de que el recovery que está utilizando no trabaje desde el smartphone, podrá hacerlo mediante consola de comandos desde el ordenador:

fastboot reboot recovery //entramos en modo recovery
adb sideload update.zip //cargamos la ROM, teniendo en cuenta que update.zip debería ser la ruta entera del fichero

  • Reiniciamos. La primera vez puede tardar varios minutos, así que paciencia… ¡Ya tenemos nuestro Meizu MX4 con Flyme OS!

 

Queda pendiente hacer otra guía con el procedimiento contrario (pasar de Flyme OS a Ubuntu Phone), que según tengo entendido, tiene más chicha. Y si al final alguien se anima a sacar el dual boot, lo traeré por aquí después de probarlo y saber si de verdad funciona.

Ahora a disfrutar de esa cámara de 20Mpx capaz de grabar vídeo en 4k :O.

 

Edit a día 27 de Abril del 2016: Quitado el enlace al recovery ya que ya no existe, y propuesta de alternativas en comentarios, justo bajo estas palabras.