Android平台Qt开发入门教程

很多人会问,Android平台可以不使用Java开发应用程序??

     我做Android平台native开发之前,也有这么想过,但是我又想,底层系统全是c/c++代码,用c/c++开发Android平台程序是可能的,只是需要使用系统非公开的API(就是android源代码,而非NDK里面提供的头文件),比如libui和skia。

      好了,由于我的工作是把C++中间件移植到Android平台,所以会对Qt for android这个项目比较了解,毕竟国内做这些的还比较少,所以需要参考android-lighthouse如何解决的文字显示,图形,键盘,触摸屏事件等等。

      言归正传,我们开始今天的教程: 在Android平台开发Qt应用程序。

      前提:

你的系统必须是linux,或者MAC OS X。在windows平台使用cygwin开发会遇到问题。 你首先需要下载android-ndk-r5或以上版本,android-sdk-r8或以上版本。 然后下载好android-lighthouse, 这个就是android平台的Qt版本,国外个人移植的,nokia官方是不会发布这样的版本的。git软件库地址:git://gitorious.org/~taipan/qt/android-lighthouse.git 当然你还可以下载整合了android平台的qtcreator, 软件库地址:git://gitorious.org/~taipan/qt-creator/android-qt-creator.git  这样你可以直接在qtcreator里面开发测试android应用程序,这里有个视频介绍qtcreator开发android应用程序(被墙了,可以用VPN或proxy访问): ?v=VU_zPnQrM6E


      下载,编译android-lighthouse:

打开终端,输入"git clone git://gitorious.org/~taipan/qt/android-lighthouse.git",便开始下载android-lighthouse的源码。下载好后,android-lighthouse目录结构如下图:

Android平台Qt开发入门教程



下载android-qtcreator, 在终端中输入"git clone git://gitorious.org/~taipan/qt-creator/android-qt-creator.git",开始下载;如果你不想使用图形界面开发Qt应用程序,你可以不用下载,下面是我通过打包下载的qtcreator 2.1 for android的文件目录结构,压缩包总共21M.

aries@uu3g:/wp/qt-creator-android-qt-creator$ ls
dist  HACKING             LICENSE.LGPL   qtcreator.pro  scripts  src
doc   LGPL_EXCEPTION.TXT  qtcreator.pri  README         share    tests

然后我们修改以下环境变量,开始编译android-lighthouse:


       1. androidconfigbuild.sh文件, 把ANDROID_NDK_ROOT, ANDROID_NDK_HOST, ANDROID_NDK_TOOLCHAIN_PREFIX等等这5个变量安装你下载的android-ndk进行修改,比如下面是我自己电脑上面设置的变量:

export ANDROID_NDK_ROOT=/opt/android-ndk-r5
export ANDROID_NDK_HOST=linux-x86
export ANDROID_NDK_TOOLCHAIN_PREFIX=arm-linux-androideabi
export ANDROID_NDK_TOOLCHAIN_VERSION=4.4.3
export ANDROID_NDK_PLATFORM=android-8

2. mkspecs/android-g++/qmake.conf文件,把NDK_ROOT, NDK_HOST,NDK_TOOLCHAIN_PREFIX, ANDROID_PLATFORM, NDK_TOOLCHAIN_VERSION按照你下载的android-ndk进行修改,比如我使用的是x86平台的android-ndk-r5(非64位系统),我修改后的mkspecs/android-g++/qmake.conf文件如下图所示:

Android平台Qt开发入门教程



做好以上2个文件的修改后,我们就开始编译android-lighthouse,注意androidconfigbuild.sh最后有一个make的指令,你可以去掉他,自己手动输入,或者现在修改,注意最好充分利用你的多核CPU,我2核的CPU,我就make -j2了,如果你是4核的,你最好make -j4,这样我想如果3GHz的CPU,最多1个小时就可以编译好android-lighthouse.修改好后,运行

./androidconfigbuild.sh


       然后就等待结果,如果你设置的是手动输入make,你需要在config完成之后输入make自行编译。
       编译结束后,输入

sudo mkdir /data/local/qt
sudo make install


       android-lighthouse默认会安装到/data/local/qt目录下。

      安装qt动态库:

手机:首先确保你的手机有足够大的空间安装这些动态库(全部安装需要200M的空间),其中QtXml有50M, QtGui有90M,QtCore有20多M。这些都是带调试信息的动态库。(2011年1月20日注:其实不需要这么大的空间,strip过后的library只需要10多M就可以了,我原来拷贝的所有library是没有strip过的) 模拟器:模拟器默认启动会把分区大小设置为64M,这里是不够用的,我们需要手动设置分区大小,我这里设置为256M。首先用android list列出你的AVD列表,如下图

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/23688.html