Qt for Android——Ubuntu下Qt for Android的环境搭建

1. 随便写写

    今天突然被告知手上的Android项目要交由安卓的同事来做,于是,研究了这么久的东西终于。。。派不上用场了,哎。接下来会对这段时间内的一些经验进行总结归档,一是为了以后查找相关问题的时候有迹可循,二是对于这一块我确实还挺感兴趣的,项目没了自己也会继续研究下去,相信这部分的博客会不断更新壮大的,加油!

 

2. 需要的东西

    想要在Ubuntu下搭建Qt for Android的环境,你需要以下四样东西:

    --Java JDK

    --Android SDK & NDK

    --Android Studio

    --Qt Creator

    别的都不用多说,ndk是安卓用来编译C和C++代码的,Android Studio对我来说功能就是可以管理更新SDK和AVD(Android Virtual Device),因为我的IDE必须是Qt Creator!!

    因为这些东东不同的版本对于最后编译和运行都有影响,我就以我实践成功的版本来说,下面都会说明每个东东我下载的版本是哪个,如果你碰到了奇怪的问题,可能换个版本就可以了。另外稍微老一点版本的Qt还要有ant,我的Qt版本是5.12.2,并没有要求这个,所以我也没装。

 

3. Java JDK (jdk-8u201-linux-x64)

    下载后安装到你的指定路径,并用 sudo gedit /etc/profile命令打开profile文件,在profile文件里面配置环境变量,如下:

JAVA_HOME=/usr/java/jdk1.8.0_201  #(根据你的实际安装路径)
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

     然后输入命令 source /etc/profile 使配置生效。

     最后用命令 java -version 检查Java环境是否配置成功,结果如下:

        

 

4. Android SDK&NDK (android-sdk-r24.4.1 & android-ndk-r19c)

    4.1 下载后解压到自己指定的路径下,我的如下

               /usr/Android/android-sdk-linux

               /usr/Android/android-ndk-r19c

    4.2 用 sudo gedit /etc/profile打开文件,配置环境变量               

NDK_HOME=/usr/Android/android-ndk-r19c
export NDK_HOME
export PATH=$PATH:$NDK_HOME

ANDROID_SDK_ROOT=/usr/Android/android-sdk-linux
export ANDROID_SDK_ROOT

export ANDROID_HOME=/usr/Android/android-sdk-linux
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools

    4.3 如果你用的是64位虚拟机,需要执行下面的命令配置依赖项,才能运行adb等32位可执行文件:

sudo apt-get install libstdc++6:i386 zlib1g:i386 libncurses5:i386

    4.4 要运行模拟器,还需要如下命令配置依赖项:

sudo apt-get install libsdl1

    4.5 如果想升级Android SDK,进入SDK目录下的Tools目录,用android工具更新SDK,命令如下:

./android update sdk

 

5. Android Studio

    这个版本没有限制,下载直接解压安装,一路默认就可以了。其实不装这个也可以,但是在安装它的时候可以勾选一个Android Virtual Device选项,会为我们自动下载一个安卓的虚拟设备,CPU架构好像是x86,所以我就下载了,省得之后再去创建虚拟机。

    它还可以管理更新SDK,在安装Android Studio的时候,如果你之前已经安装了SDK,那么它会检测到你SDK的路径并帮助你更新,如果没有安装SDK,它会帮你下载。

 

6. 安装Qt并配置 (qt-opensource-linux-x64-5.12.2.run)

    6.1 下载并安装,安装时勾上与Android相关的选项。

    6.2 为Qt设置Java和Android环境

        6.2.1 默认情况下,当我们配置好上面的Java和Android环境后,打开Qt Creator,它会自动检测并配置好这些环境。如果没

        有,看下一步。

        6.2.2 在Qt Creator的工具->选项->设备->Android下:

                  

                   Qt for Android——Ubuntu下Qt for Android的环境搭建_第1张图片

    6.3 设置Android相关的构建套件

        6.3.1 默认情况下,Qt会自动检测到Qt版本,编译器以及调试器,然后配置好套件。

        6.3.2 如果没有,在下图位置配置,设置构建套件是Qt的基础,不多说啦

                     Qt for Android——Ubuntu下Qt for Android的环境搭建_第2张图片

 

7. 碰到的问题

       把上面的工作都完成后,就可以在Ubuntu环境下进行Qt for Android的开发了,下面记录了两个我在开发完程序后运行时碰到的问题。

    7.1 emulator Error

        Qt for Android——Ubuntu下Qt for Android的环境搭建_第3张图片

         这里说的问题是,emulator(模拟器)找不到Nexus_5X_API_28_x86.ini文件和$HOME/.android/avd文件夹,这两个

    在/root/.android下面都有,直接拷贝过来即可:

sudo cp /root/.android/avd/*.ini /home/zhounixing/.android/avd/
sudo cp –r /root/.android/avd/*.avd /home/zhounixing/.android/avd

    7.2 KVM Error

        KVM requires a CPU that supports vmx or svm

        这里是说没有安装KVM或者KVM不可用,分两种情况:

        7.2.1 如果你的Ubuntu是在真机环境下,用kvm-ok来检查KVM

                 

             如果如上图所示,说明KVM确实有问题,需要手动install一下

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

        7.2.2 如果是在虚拟机的环境下,勾选虚拟化引擎相关的选项,步骤如下:

                 --将虚拟机关机

                 --右键你的虚拟机

                 --在设置->硬件->处理器->虚拟化引擎中,勾选上"虚拟化Intel VT-x/EPT或AMD-V/RVI(V)"选项

                 Qt for Android——Ubuntu下Qt for Android的环境搭建_第4张图片

        7.2.3 以上两种情况分别解决后,再用命令kvm-ok来检查KVM,若如下图所示,则证明成功解决

                 

 

8. 小结

    至此我们就可以在Ubuntu环境下进行Qt for Android的开发,并且成功运行或者调试了, 除了安卓虚拟设备,我们还可以连接手机来调试运行,需要打开手机的开发者模式,然后将USB选项从"仅充电"改成"传输文件"。

 

~~环境的搭建到这里就全部说完了,可能一步步照着上面的步骤来,你依然会碰到我没有碰到过的问题,因为这里的坑确实挺多的,但是网上大多都能找到解决办法,都不是什么太难的问题。

你可能感兴趣的:(Qt,for,Android)