android 下载地址:通过网页找到正确的文件名,然后替换后面的文件名即可
Android SDK
Windows
http://dl.google.com/android/android-sdk_r08-windows.zip
http://dl.google.com/android/installer_r08-windows.exe
Linux (i386)
http://dl.google.com/android/android-sdk_r08-linux_86.tgz
MAC OS X (intel)
http://dl.google.com/android/android-sdk_r08-mac_86.zip
Android NDK
Windows
http://dl.google.com/android/ndk/android-ndk-r5-windows.zip
Mac OS X (intel)
http://dl.google.com/android/ndk/android-ndk-r5-darwin-x86.tar.bz2
Linux 32/64-bit (x86)
http://dl.google.com/android/ndk/android-ndk-r5-linux-x86.tar.bz2
执行android,打开android sdk avd manager,选择相应模块,安装。
然后将android sdk tools, platform-tools 路径加入环境变量,在mac os x下,修改/etc/paths,添加tools路径,以及platform-tools路径。
git clone git://gitorious.org/~taipan/qt/android-lighthouse.git 这个就是qt for android 源代码,下面将在此基础上编译基于android的qt库。
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
将以上androidconfigbuild.sh中所做的修改也应用在这里,因为qmake生成Makefile时需要这些hardcode路径
修改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到模拟器中。
参考:http://www.meegozu.com/thread-1199-1-1.html