Cómo construir Qt5 para Android?

Tengo un servidor que ejecuta Ubuntu 12.04 LTS.

Me gustaría poner el servidor para utilizar el edificio Qt5 para la plataforma Android ARMv6. ¿Cómo se hace esto en un servidor sin cabeza?

A continuación se describen los pasos necesarios para compilar Qt5 para Android en Ubuntu 12.04 LTS. Por razones de conveniencia, asumiré que todos los comandos a continuación se ejecutan en el directorio /opt/qt5-android . Tendrá que ajustar las rutas en consecuencia si no es así.

  1. Primero necesitará asegurarse de que los paquetes apropiados estén instalados:

     sudo apt-get install build-essential openjdk-6-jdk 
  2. Agarra el último SDK de Android:

     wget http://dl.google.com/android/android-sdk_r21.1-linux.tgz tar -xf android-sdk_r21.1-linux.tgz 
  3. El SDK no se suministra con ninguna plataforma, por lo que tendrá que tomarlas:

     android-sdk-linux/tools/android update sdk --no-ui 
  4. Coge la última versión del NDK:

    32 bits (i686):

     wget http://dl.google.com/android/ndk/android-ndk-r8e-linux-x86.tar.bz2 tar -xf android-ndk-r8e-linux-x86.tar.bz2 

    64 bits (amd64):

     wget http://dl.google.com/android/ndk/android-ndk-r8e-linux-x86_64.tar.bz2 tar -xf android-ndk-r8e-linux-x86_64.tar.bz2 
  5. Ahora clone el siguiente repositorio de Git:

     git clone git://gitorious.org/qt/qt5.git qt5 cd qt5 perl init-repository --no-webkit 
  6. Casi estámos allí. Ahora necesitamos configure y make Qt5:

     ./configure \ -developer-build \ -xplatform android-g++ \ -nomake tests \ -nomake examples \ -android-ndk /opt/qt5-android/android-ndk-r8e \ -android-sdk /opt/qt5-android/android-sdk-linux \ -skip qttools \ -skip qttranslations \ -skip qtwebkit \ -skip qtserialport \ -skip qtwebkit-examples-and-demos make 

¡Y eso es! Ahora debe terminar con una compilación de Qt5 para Android.


Referencias:

  • Construyendo Qt5 para Android
  • ¿Hay una manera de automatizar la instalación de sdk de android?

No me refiero a responder a otra respuesta con una respuesta, pero este es mi primer post 🙁 y creo que eso me impide publicar esto en un comentario (por lo que considerar una cita de dicha respuesta, no una respuesta a ) La respuesta de Nathan arriba no funcionó exactamente para mí.

Mi línea de configuración parecía más así:

 ./configure \ -developer-build -platform linux-g++-64 \ -xplatform android-g++ \ -nomake tests \ -nomake examples \ -android-ndk /opt/qt5-android/android-ndk-r8e \ -android-sdk /opt/qt5-android/android-sdk-linux \ -skip qttools \ -skip qttranslations \ -skip qtwebkit \ -skip qtserialport \ -android-ndk-host linux-x86_64 

Este es el por qué:

  • -skip qtwebkit-examples-and-demos causó un error en configure … No me gustó que estaba saltando algo que no se pudo construir de todos modos (lo siento, perdí el mensaje de error exacto)

  • -android-ndk-host linux-x86_64 dejó de configurar de abortar con " Can not detect the android host. Please use -android-ndk-host option to specify one "

  • -platform linux-g++-64 es ser paranoico acerca de si o no configurar agregará la bandera -m64 o lo que sea cuando se trabaja su magia para mí

Aparte de esta diferencia, el procedimiento de Nathan parecía funcionar como un encanto. Mi entorno local ahora (gracias por los consejos, Sr. Osman 🙂

  • Qt streaming de llamadas de video móvil
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.