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?
- Utiliza el tema de Holo en la aplicación Android de Qt
- Qt Android: Al presionar "Hecho" no oculta el teclado
- Implementación de aplicaciones Android Qt 5.1
- Cómo agregar actividad de SDK en Qt para Android
- JNI_OnLoad devolvió la versión incorrecta (-1)
- Qt5 para Android: Proyecto ERROR: Módulo (s) desconocido (s) en QT: qml rápido
- ¿Cómo desplegar qt5 qml plugin a android?
- Qt Android: ¿Cómo mostrar el diálogo de archivo nativo?
- Cómo mostrar el contenido web en iOS y Android mediante QML
- Bloqueo de orientación de pantalla QML
- Empuje usando Parse en Qt5.5 para Android: NullPointerException en getCurrentInstallation
- Cómo eliminar el rectángulo de fecha seleccionado en QCalendarWidget y pequeños iconos en widgets
- Qt5.1-android: Qt versión para mips que faltan en QtCreator
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í.
-
Primero necesitará asegurarse de que los paquetes apropiados estén instalados:
sudo apt-get install build-essential openjdk-6-jdk
-
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
-
El SDK no se suministra con ninguna plataforma, por lo que tendrá que tomarlas:
android-sdk-linux/tools/android update sdk --no-ui
-
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
-
Ahora clone el siguiente repositorio de Git:
git clone git://gitorious.org/qt/qt5.git qt5 cd qt5 perl init-repository --no-webkit
-
Casi estámos allí. Ahora necesitamos
configure
ymake
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 🙂
- Ciclo de vida de la actividad lado a lado
- FragmentTransaction .attach y .detach para las pestañas de Actionbar