Qt 移动开发,学习笔记 【一】

本文详细介绍如何使用Qt进行跨平台移动应用开发,包括Qt的安装配置、安卓SDK和NDK的设置步骤,以及如何解决常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:

说原创也不全是自我创新,说转载绝非复制粘帖。

各位好,我是高晓松。。。不,我是搞笑.宋,我有个弟弟,在英超踢球,而我,是一个会写程序的黑人(再说一边,我是在中国晒黑的,不是非洲移民)。


废话不说,鉴于Qt越搞越大,大有一套IDE吃遍各平台的气势,所以我决定,跟他走。

说走就走,现在最流行的就是移动开发,所以今天开始,我就围绕“一套代码,交叉编译ios+andriod"这个宏(xu)伟(jia)目(guang)标(gao)做一系列文章。


第一篇 Qt与安卓,下载与安装

    要写Qt程序,必须下载安装Qt先。有钱你就买企业版,一次买两套,一套用来编码,一套用来编译。

    我没钱,所以我在http://qt-project.org/downloads界面,找了个免费版下载。下载路径是 download.qt-project.org/official_releases/qt/5.2/5.2.1/qt-opensource-linux-x64-android-5.2.1.run.mirrorlist。 找到这个路径的诀窍是点击前一个download页面上那些下载列表项旁边的info小字。 具体我下载的文件是qt-opensource-linux-x64-android-5.2.1.run   这个文件846M大,下载这个run文件的好处是安装时不用再下载其他文件了。

   你也可以下载其他版本,你要是网速够快,甚至可以下载两个版本,一套用来编码,一套用来编译,壕感油然而生,有木有?


   因为我是liunx系统(什么,刚才那个文件名里你就看出我是用liunx了么?少年你怎么那么天真,你咋知道那个是操作系统名称?人家又没说,也许那是Qt开发人员在夸我linux---你牛x死 呢?),在liunx系统下,需要使用chmod +x xxx.run ,使得run文件可以执行。然后就执行这个run文件。选择一个路径,安装前要选协议,我选择LPGL。选这个协议有什么好处呢? 啊,好处就是,他名字略长,我们都希望自己略长对不对? 那有人说 Apache不是更长?唉,真是钻牛角尖,别在意细节好么?


   好了,像读者您这样根骨雄奇,器宇不凡之辈,想来不会在安装Qt上卡住,那接下来就是在Qt中加入安卓sdk了,想要编写android程序,需要下载一些android的SDK啊ndk啊之类的东西,具体网址是:

sdk下载路径是:developer.android.com/sdk/index.html(下载ADT Bundle(Android Developer Tool)版本的sdk)
ndk下载路径是在http://developer.android.com/tools/sdk/ndk/index.html 下载android的ndk

然后在http://ant.apache.org/bindownload.cgi 下载apache-ant,目前我下载的是apache-ant-1.9.4-bin.tar.bz2

最后是安装Openjdk,访问网页:http://openjdk.java.net/install/, 在liunx上可以直接运行命令来安装Openjdk Debian, Ubuntu, etc. 如果是Ubuntu或者Debian,那么命令是  sudo apt-get install openjdk-7-jre, 如果是Fedora, Oracle Linux, Red Hat Enterprise Linux ,那么命令是 su -c "yum install java-1.7.0-openjdk",需要管理员帐号。

接下来启动qt creator 3,在工具 ->选项 ->左侧列表android中配置sdk,ndk,ant jdk的路径 ,我这里sdk 和ndk只是下载后解压,ant似乎是安装好了的,openjdk是安装好的,安装过的qtc3能自己认出来。
配置完成后点击按钮 : "启动android avd管理器"
在Android Virtual Device Manager界面上有一个new 按钮,点击后,可以配置了,在配置界面有不少型号的手机,按照自己的想法配吧,目前对于怎么配我也没有啥自己的想法。配置完 ok -> ok,好了,最好是有一台真机对应,对于开发有好处。
配置完,选择刚才配置的AVD,点击"start“按钮,耐心等待把。

编译代码时,如果各位的操作系统是64位的,那么有可能出现error,libstdc++.so.6文件找不到,实际是需要安装32位libstdc++
centos下安装命令是yum -y install libstdc++.i386,另外可以先用yum list |grep libstdc++查看一下有哪些可以安装(操作系统自带的64位stdc++库看来和安卓sdk有些不匹配)


到此为止,相信各位至少能作出一个“Hello world, my phone!” 来了。

今后会有更多的、更好的、更高阶的移动端开发心得,敬(bi)请(xu)期(tai)待(jian)


ps: 最近写Qt Mobile程序,觉得这个5.2.1真是坑爹啊,bug真多,我换成5.3.0了。 另外文档中忘记说了,要编译Qt Mobile arm程序,需要下载jdk 1.8.0,具体网址是:http://www.oracle.com/technetwork/java/javase/downloads  这个是下载用的网址,是下载jdk for arm的,网址可能有变化(如果与成文时间有较大差距的话)

ubuntu 下安装配置 jdk,详见:http://www.neversaydie.cc/ubuntu-install-jdk-in-detailed/


在解压adt bundle版的andriod sdk后记得运行android manager程序,就是那个bin目录里的可执行文本文件。

另外想要将程序通过ant打包成apk程序的话记得千万要做两件事:定义一个key 。以及将相关路径加到系统环境变量里

export JAVA_HOME=/usr/java/jdk1.8.0_05
export ANT_HOME=/home/gxx/Codes/apache-ant-1.9.4
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${ANT_HOME}/lib:${JAVA_HOME}/lib:${JAVA_HOME}/jre/bin:${JRE_HOME}/lib:${ANT_HOME}/lib:${ANT_HOME}/lib/ant-launcher.jar
export PATH=$JAVA_HOME/bin:$ANT_HOME/bin:$PATH

另外在64位操作系统,利用ant打包时很悲催滴需要额外增加一些32位的库文件(因为ant及android的64位支持工作不是很到位)

以64位 ubuntu操作系统为例:sudo apt-get install lib32stdc++6 lib32z1 lib32z1-dev 这三个文件是需要重新安装的。

我的电脑是centos, lib32stdc++6用yum install了,lib32z需要自己去yum install zlib.i686网站下载安装。

<think>好的,我需要帮助用户了解如何将Qt项目打包成Android APK文件。首先,我需要回忆Qt对Android的支持情况。记得Qt从某个版本开始就支持Android开发,但具体步骤可能涉及配置环境和工具。 用户提供的引用中提到了“Qt支持打包成安卓”,并给出了个Git仓库的地址,可能涉及到些额外的工具或插件。但用户的问题是关于如何打包成APK,所以应该先整理标准的Qt打包流程。 首先,确保用户安装了必要的组件。Qt Creator需要Android SDK、NDK和JDK。可能需要指导用户安装这些工具,并配置Qt Creator中的路径。然后,在项目中设置构建套件为Android,生成APK。还可能涉及签名APK的问题,因为发布到应用商店需要签名。 另外,用户提到的模拟器问题,比如逍遥模拟器停止运行,可能和ABI兼容性或Qt的配置有关。可能需要建议用户检查模拟器的架构是否与构建的APK匹配,或者尝试其他模拟器/真机测试。 还需要注意Qt的版本是否支持目标Android版本,以及权限配置是否正确。可能还需要处理依赖库或资源文件的打包。 最后,生成相关问题时要围绕Qt Android打包的常见问题,比如依赖管理、调试、性能优化等。</think>### 如何将Qt应用程序打包成Android APK文件 #### 步骤说明 1. **安装必要工具** 确保已安装以下组件: - **Qt for Android**:在Qt安装器中选择`Android`组件(如Qt 5.15+或Qt 6.x) - **Android SDK/NDK**:通过Android Studio或独立安装包获取 - **JDK**:推荐OpenJDK 11或更高版本 2. **配置Qt Creator** - 打开Qt Creator,进入`工具 → 选项 → 设备 → Android` - 设置SDK、NDK、JDK的路径(示例路径): - SDK:`C:\Android\sdk` - NDK:`C:\Android\ndk\21.3.6528147` - JDK:`C:\Program Files\Java\jdk-11.0.15` 3. **创建或打开Qt项目** - 在`.pro`文件中添加Android配置,例如: ```qmake android { DISTFILES += android/AndroidManifest.xml } ``` 4. **构建配置** - 在Qt Creator左下角选择`Android`构建套件(如`Android ARMv7`) - 点击`构建 → 构建项目`生成未签名的APK文件(默认路径:`android-build\build\outputs\apk\debug`) 5. **签名APK** - 使用`jarsigner`或Qt Creator的`构建 → Android → 创建Android Bundle/APK`向导生成签名文件(`.keystore`)并签名[^1]。 6. **调试与部署** - 连接Android设备或启动模拟器(需启用USB调试模式) - 点击`运行`,Qt会自动部署APK到设备。若模拟器崩溃,尝试更换ABI(如`armeabi-v7a`改为`x86`)或使用真机测试。 #### 注意事项 - 若遇到依赖问题,在`android/`目录下添加`gradle`脚本管理第三方库 - 检查`AndroidManifest.xml`中的权限声明(如网络访问、摄像头)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值