Paquetes experimentales para desarrollo en Symbian sobre Linux [Qt Labs]

Nota: Esta es una "traducción libre" y no oficial de la publicación hecha por Nokia, se realiza sólo con el fin de extender su difusión a las personas que no poseen la comprensión suficiente del idioma inglés para leerla en su idioma original. Esta traducción puede no expresar de manera exacta las ideas u opiniones de Nokia. Recomendamos ampliamente leer la publicación oficial.

--------------------------------------------

Publicado por Kristian Amlie en Diciembre 17, 2010

Hace tiempo escribimos acerca de como usted podía desarrollar para Symbian desde Linux. Sin embargo, el proceso era complicado y requería realizar muchas configuraciones manualmente. Hemos llevado el concepto un paso más lejos, ahora tenemos ambientes pre-empaquetados completos, ¡Con compilador, bibliotecas y todo lo que necesita para empezar a desarrollar!

Sin embargo, estoy obligado a reportar que hay límites en nuestra responsabilidad (disclaimer) al proveer esto paquetes: Los paquetes no están soportados por Nokia en absoluto. Sólo están siendo proporcionados con la idea de "Hacer el mejor esfuerzo", y no tienen garantía de funcionar correctamente en su sistema. También note que estos paquetes no tienen la garantía de recibir actualizaciones, y que en el futuro la misma funcionalidad puede ser proporcionada en forma diferente, por ejemplo, a través del SDK de Qt.

Además, no es posible utilizar este enfoque para desarrollar para el N8, debido a que Qt 4.7.1 no es instalable en él. Sin embargo, cuando el N8 reciba su primera actualización, la versión de Qt será actualizada a Qt 4.7.1, y entonces será posible desarrollar para el N8.

Ahora, con eso fuera del camino, vamos a la diversión

Siendo yo un usuario de Gentoo Linux, fue natural que comenzará creando los llamados ebuilds (las descripciones de archivos para Gentoo). Para aquellos que no están familiarizados con Gentoo, no tiene un sistema de paquetes reak, sólo instrucciones de como instalar paquetes. Muchos paquetes compilan el código fuente, pero esto no es estrictamente requerido, debido a que tus instrucciones también pueden contener referencias a binarios precompilados. La ventaja para mi fue que una vez que tenía las instrucciones para construir los paquetes, simplemente podía crear paquetes Debian utilizando las mismas instrucciones, y por lo tanto obtener dos tipos de paquetes por el precio de uno.

Así que en otras palabras, los paquetes proporcionados son ebuilds de Gentoo y paquetes .deb de Debian. Los usuarios de RPM pueden utilizar los paquetes .deb mediante alien.

Para usuarios de Debian (y Ubuntu):

Descargar e instalar los siguientes paquetes (sólo versiones de 32-bits):

Para usuarios de Gentoo:

  1. Instae layman si es que aún no lo tiene, utilizando emerge -av layman
  2. layman -o http://qt.gitorious.org/qt-labs/symbian-overlay/blobs/raw/master/reposit... -L (Primero es necesario listar los repositorios para actualizar la idea de layman de lo que está disponible)
  3. layman -o http://qt.gitorious.org/qt-labs/symbian-overlay/blobs/raw/master/reposit... -A qt-symbian-overlay
  4. Para indicar que acepta la licencia, agregue ACCEPT_LICENSE="nokia-eula sourcery-g++" a su /etc/make.conf
  5. emerge -av qt-symbian-libs

Para todos los usuarios:

Aún se requiere cierto software en el teléfono y desafortunadamente, no hay forma de automatizar esto. Lo primero que necesita verificar es si tiene instalado App TRK; algunos teléfonos lo incluyen de fábrica, pero la mayoría no lo hacen. Verificarlo es sencillo:

  1. Conecte su teléfono a la computadora mediante el cable USB
  2. Si se muestran opciones como "Servicios de depuración disponibles" ("Debug Services are available"), entonces App TRK está instalado en su teléfono.
  3. Si este no es el caso, por favor utilice las instrucciones de la documentación de Qt para instalar App TRK.

Además, algunas bibliotecas también necesitan estar preinstaladas.

  1. Puede revisar si su teléfono tiene el software requerido entrando al Administrador de Aplicaciones (Application Manager). En la mayoría de los teléfonos está disponible ya sea desde Configuración/Ajustes "Settings" en el menú principal, o desde Aplicaciones (Applications) en el menú principal.
  2. Busque "PIPS Installer" y "Standard C++ library Common". Si la versión de ambos es al menos 1.06, entonces todo está bien.
  3. De otra forma necesita instalar las bibliotecas desde aquí: http://pepper.troll.no/s60prereleases/OpenC-1.7-sis-files.zip Puede utilizar la recién instalada herramienta runonphone para instalar las bibliotecas mediante la instrucción runonphone -s
  4. Finalmente, es necesario instalar Qt en el teléfono, lo cual se puede hacer ocn los comandos:
    1. runonphone -s /usr/share/qt4/qt-symbian/lib/Qt.sis
    2. runonphone -s /usr/share/qt4/qt-symbian/lib/QtWebKit.sis

Por supuesto, los usuarios de su aplicación no tendrán que hacer esto. Para hacer que la distribución de su aplicación sea fácil para los usuarios, consulte la Guía de Implementación para Symbian, en particular, la parte acerca del Smart Installer.

¡Y eso es todo! Ahora está listo para comenzar a desarrollar. La única diferencia notable cuando desarrolla para Symbian utilizando este paquete, es que debe utilizar qmake-symbian en lugar de sólo qmake. Utilizando esto, es posible probar su primera aplicación hola mundo, con los siguientes comandos:

  1. cd <mi-app-hola-mundo>
  2. qmake-symbian
  3. make runonphone

Algunos problemas conocidos:

  • El ebuild gcce resultó ser difícil de realizar correctamente. Algunas veces "se cuelga" sin razón; si esto sucede puede volver a intentar y tal vez funcione la segunda vez, pero no se sorprenda si no funciona. Si este es el caso para usted, puede instalarlo manualmente utilizando sh /usr/portage/distfiles/symbian-adt-4.4-172-arm-none-symbianelf.bin De esta manera, engaña a Portage haciéndole creer que lo ha instalado añadiendo sys-devel/gcce-4.4.172 a /etc/portage/profile/package.provided
  • Frecuentemente, funonphone falla al autodetectar que el teléfono está conectado al puerto USB. Si esto le sucede, lea la sección acerca de configurar el driver serial USB en la documentación de Qt. Tal vez también tenga que especificar el parámetro -p con /dev/ttyUSB1 or /dev/ttyACM1 a runonphone, como se describe aquí

¡Buena suerte!

Anuncios Google