How to build Qt5 for Android?

后端 未结 2 960
暖寄归人
暖寄归人 2021-02-07 23:19

I have a server running Ubuntu 12.04 LTS.

I would like to put the server to use building Qt5 for the Android ARMv6 platform. How does one go about doing this on a headle

相关标签:
2条回答
  • 2021-02-07 23:49

    I don't mean to respond to another answer with an answer but this is my first post :-( and I think that that prevents me from posting this in a comment. (so consider it a citation of said answer, not a reply to it) Nathan's own answer above didn't work exactly for me.

    My configure line looked more like so:

    ./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
    

    Here's why:

    • -skip qtwebkit-examples-and-demos caused an error in configure... It didn't like that I was skipping something that couldn't be built anyway (sorry, I lost the exact error message)

    • -android-ndk-host linux-x86_64 stopped configure from aborting with " Can not detect the android host. Please use -android-ndk-host option to specify one"

    • -platform linux-g++-64 is me being paranoid about whether or not configure will add the -m64 flag or whatever when working its magic for me

    Other than this difference, Nathan's procedure seemed to work like a charm. My local environment building now (thanks for the tips, Mr Osman :-)

    0 讨论(0)
  • 2021-02-07 23:54

    The steps necessary for compiling Qt5 for Android on Ubuntu 12.04 LTS are described below. For the sake of convenience, I will assume that all of the commands below are run in the directory /opt/qt5-android. You will need to adjust the paths accordingly if this is not the case.

    1. First you will need to make sure the appropriate packages are installed:

      sudo apt-get install build-essential openjdk-6-jdk
      
    2. Grab the latest Android SDK:

      wget http://dl.google.com/android/android-sdk_r21.1-linux.tgz
      tar -xf android-sdk_r21.1-linux.tgz
      
    3. The SDK doesn't ship with any platforms, so you will need to grab them:

      android-sdk-linux/tools/android update sdk --no-ui
      
    4. Grab the latest version of the NDK:

      32-bit (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-bit (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. Now clone the following Git repository:

      git clone git://gitorious.org/qt/qt5.git qt5
      cd qt5
      perl init-repository --no-webkit
      
    6. We're almost there. Now we need to configure and 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
      

    And that's it! You should now end up with a Qt5 build for Android.


    References:

    • Building Qt5 for Android
    • Is there a way to automate the android sdk installation?
    0 讨论(0)
提交回复
热议问题