Xamarin,Xamarin como me has hecho sufrir…

Microsoft no es del todo la empresa líder en desarrollo para dispositivos móviles, llámese de tabletas para abajo. Sin embargo como gran conglomerado y existiendo estos aparatos como en el que estoy tecleando ahora, seguirán buscando hacer competencia a Google y Apple en el terreno del desarrollo móvil.

Algo que nos debe hacer sentir orgullosos – al igual que los oscares de Guillermo del Toro  – es la creación y después compra de Xamarin por parte de Microsoft al empresario-desarrollador mexicano Miguel de Icaza, con una apuesta muy fascinante, la unificación de plataformas.

Mi querido colega el Ingeniero Daniel Marín, alguna vez me comentó que Xamarin no le era de su agrado y el usaba el famoso, Android Studio.

A meses, quizás años de esa charla, lo entiendo, el tener una primera aplicación corriendo en mi teléfono Android ha sido todo un reto, y no tanto intelectual sino que hay que descargar y actualizar muchas cosas.

Con  mi grupo de Desarrollo de Aplicaciones III logramos correr Xamarin Live, donde el equipo donde estamos desarrollando hace espejo en nuestro dispositivo móvil por medio de una App que se baja tanto de AppStore como de la PlayStore, creí que era sencillo pasar alguna aplicación a los dispositivos pero mis alumnos no tuvieron éxito.

Aquí les cuento como se pudo lograr, en mi caso no he podido hacer funcionar los emuladores, solo con Xamarin Live, en el dispositivo por medio de cable USB y ya pasando el .APK al dispositivo.

Y como los autos cuando no arrancan por caída de nieve y se usan 2 o más baterías, tuve que probar tanto en mi equipo de escritorio (VS2015) como en  mi lap (VS 2017), y fue en esta última donde lo logré.

Primero empecé de cero instalando Visual Studio 2017 y eligiendo todo lo relacionado con Xamarin, ya que me percate que no podía empezar con Xamarin, no me mostraba las opciones que dictaban los tutoriales, eso me costó algunas horas de desvelo.

Empezar camino con Android Studio se me hace comenzar muy desde cero cuando el cuatrimestre esta por concluir. Por lo que hoy me di a la tarea de hacer mi primera aplicación de Android con Xamarin, claro siguiendo el HolaMundo de la Xamarin University.

Iniciamos aquí, un Getting Started – que es un sarcasmo, te dicen que te llevará 10 minutos, pero bueno – la verdad no se si estará en español pero con eso de mis clases bilingües pues me estoy acostumbrando al inglés. Nos enseñan la instalación, el uso de Xamarin Live y los ejemplos que vienen.

Luego nos vamos a los requerimientos para Android,

Lo primero que indican es que nos vayamos a Herramientas-Opciones, y busquemos la pestaña de Xamarin-Configuración de Android, se requiere jdk 1.8, pero no admite el jdk1.9.

A continuación te dan la explicación del Android SDK Manager (opción Herramientas-Android-SDK -Manager), aquí entre prueba y error descargué y actualice n cosas con la esperanza de que funcionara, además la explicación es para VS2017 y yo estaba con VS2015.

Y sigue la lectura con algo que me parece fundamental y trascendental, el “testeo” de la aplicación en un dispositivo real – aquí la explicación -, ya que es un símil a cuando estudias para piloto aviador y solo has volado en un simulador.

En el mundo Android al cual pertenecemos la mayoría de los mexicanos, los teléfonos y dispositivos móviles por default, no están habilitados para usar el llamado “debug” de aplicaciones, la guía menciona que se basan en un teléfono de la compañía de Google llamado Nexus, aquí les explico de mi amado Moto X primera generación, ya compañero de varias batallas.

Deslizamos hacia abajo dos veces, ya que en la primera pantalla nos muestra las notificaciones y la segunda vez muestra la pantalla de Wi-fi, red celular, bluetooth, etc.

Ahora vamos al engrane que esta en la parte superior izquierda.

Vamos al menú “Acerca del teléfono”, aquí tenemos que ya esta habilitada la opción de Programador que es lo que buscamos con este proceso.

Entramos al siguiente submenu, donde se hace la magia que muestra la opción del “Programador”.

Se hace “tap” 7 veces para mostrar la opción de “Programador”.

Entramos a la opción programador.

Y marcamos Depuración por USB. Tenemos que verificar en Android SDK Manager que tengamos el Google USB Driver. En mi caso ya lo tenía instalado, sin embargo detallan un procedimiento que también seguí para instalar estos drivers extras, el cual es el android.bat.

Vienen procedimientos para instalar los drivers específicos, para cada teléfono tanto para Windows 7 como para Windows 8.1, aquí detallo el de mi sistema operativo (8.1), de paso recordamos una instrucción reiniciar el equipo por medio del cmd (shutdown.exe /r/o).

Una vez reiniciado el equipo nos vamos a revisar el hardware del equipo, en mi caso como ya encontré los drivers para mi teléfono ya no aparecerá el icono de admiración amarillo que nos dice que los drivers no están instalados, también el texto nos dice que podemos hacerlo por wi-fi o por cable, aquí les cuento que será el de por medio de USB.

Para ver los dispositivos de hardware y sus drivers asociados, ejecutamos el comando devmgmt.msc, es importante tener conectado el celular a la computadora claro esta.

Aquí el bueno es el ADB (Android Device Bridge), lo que tuve que hacer para que lo reconociera el equipo fue buscar y descargar el relativo a la marca de mi teléfono, después de un par de búsquedas, lo encontré en la página oficial de Motorola ahora Lenovo.

Para poder enlazar vía wi-fi o usb, se ejecutan ciertos comando desde la consola, por default es por usb pero podemos cambiar a wi-fi, usando las opciones de buscador de Windows buscaba el comando adb.exe, pero revisando con detalle en Visual Studio hay un icono para abrir dicha consola. Para ello he abierto el proyecto de HelloWorld, que ya esta funcionando.

Aquí ya acepté la advertencia de seguridad que me muestra el teléfono,  la primera vez te manda una advertencia que aceptes o rechaces el uso de la depuración en el dispositivo, algo como lo siguiente:

Algo que causa un poco de desanimo en mi caso, es que si queremos usar el HAXM (acelerador) solo funciona para procesadores Intel y estamos usando AMD, y como mencioné aun no he podido hacer funcionar los emuladores. Marca que hay error en la implementación.

Para hacer el Phoneword, seguí las siguientes instrucciones.

Pero vamos a hacerlo en nuestro dispositivo :).

No lanzaremos a los emuladores, lanzaremos a nuestro dispositivo Android, como marco en la parte superior. Después de un par de minutos, y conectado nuestro dispositivo al equipo, podemos ver la corrida del mismo.

Muchos dirán “pero, es lo mismo que Xamarin Player”, pues si, pero ahora vamos a buscar en el proyecto el archivo *.apk, y lo encontramos y copiamos a nuestro dispositivo, y listo. Tenemos la primera aplicación de Xamarin corriendo en nuestro dispositivo.

Seguimos en contacto.

Profesor Miguel Araujo.

Nota-post del post – Al día siguiente probé este mismo programa en la desktop con VS2015 y ya esta funcionando, solo realice algunas actualizaciones que pedía el Android SDK Manager.

Deja un comentario