Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3516868
  • 博文数量: 864
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10634
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/zytc2009/BigTeam_learning

文章分类

全部博文(864)

文章存档

2023年(1)

2021年(1)

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(69)

2011年(103)

2010年(357)

2009年(283)

2008年(22)

分类: C/C++

2011-05-04 19:35:22

首先下载各种包:
android 下载地址:通过网页找到正确的文件名,然后替换后面的文件名即可

Android SDK

Windows





Linux (i386)



MAC OS X (intel)



 

Android NDK

Windows



Mac OS X (intel)



Linux 32/64-bit (x86)



下载android sdk, 注意下载下来的sdk还不能马上用,还需要在线安装,不同平台需要下载相应的版本。
执行android,打开android sdk avd manager,选择相应模块,安装。

然后将android sdk tools, platform-tools 路径加入环境变量,在mac os x下,修改/etc/paths,添加tools路径,以及platform-tools路径。

下载android ndk, 这是qt 需要的c++环境, 不同平台需要下载相应的版本,解压即可使用,无需安装。
下载android-lighthouse:~taipan/qt/android-lighthouse
git clone git://gitorious.org/~taipan/qt/android-lighthouse.git 这个就是qt for android 源代码,下面将在此基础上编译基于android的qt库。

修改androidconfigbuild.sh
ANDROID_NDK_ROOT 指向android ndk根目录

ANDROID_NDK_HOST设置为当前系统,比如mac os x上应该是darwin-x86

ANDROID_NDK_PLATFORM 设置为已安装的android sdk版本,比如android-9

注意要使用绝对路径,不要使用波浪号tilde当前用户前缀,否则以后gcc -I包括头文件路径时会找不到。下面是mac os x下的片段:

export ANDROID_NDK_ROOT=/lib/android-ndk-r5b

export ANDROID_NDK_HOST=darwin-x86

export ANDROID_NDK_TOOLCHAIN_PREFIX=arm-linux-androideabi

export ANDROID_NDK_TOOLCHAIN_VERSION=4.4.3

export ANDROID_NDK_PLATFORM=android-9

修改mkspecs/android-g++/qmake.conf
将以上androidconfigbuild.sh中所做的修改也应用在这里,因为qmake生成Makefile时需要这些hardcode路径

执行脚本androidconfigbuild.sh,编译qt for android,一切顺利的话,lib中会生成所有android下可以使用的qt库
下面创建一个应用:
修改脚本create_android_lighthouse_project.sh
修改SDK_ROOT,LIGHTHOUSE_ROOT,ANDROID_TARGET,为正确的值。PROJECT_NAME 由命令行中 -n 参数传入。

另外,脚本中的sed在darwin与linux中行为稍有不同,在darwin下需要sed -i 后面要加上一对单引号(直接搜出来的结果,不知道是啥意思,有空在研究),然后才是字符串替换的语句。还需注意字符串替换语句中如果使用$shell变量则必须是包含在双引号中,而不能是单引号。下面是mac os x下的片段:

sed -i '' "s/animatedtiles/$PROJECT_NAME/g" $J_PRO/src/org/$PROJECT_NAME/qt/QtMain.java

sed -i '' "s/animatedtiles/$PROJECT_NAME/g" $J_PRO/AndroidManifest.xml

运行此脚本,将会生成一个qt for android应用,以及对应的build.sh, run.sh。

运行build.sh 将编译应用,并push到android模拟器中。但此时应用还不能运行,因为相应的qt库还没有被push到模拟器中。

修改脚本push_qt_libs.sh,同样需要设定正确的路径变量。运行该脚本,将之前编译好的所有qt库push到模拟器中。
现在可以在模拟器中运行qt应用了,注意在运行上面两个脚本之前,应该把模拟器打开。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/darkdong/archive/2011/02/01/6171627.aspx
阅读(1222) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~