代码改变世界

linux 平台下用利用 qt 框架给 android 手机开发应用

2021-10-28 09:36  清晨、午后  阅读(1594)  评论(0编辑  收藏  举报

从矿工转行为新时代农民工,一直从事的是PC端开发,听说qt可以给手机开发开发应用,遂进行了尝试,历时约两个晚上的时间终于给我的手机开发了一个丑陋无比的应用。

开发环境:linux(deepin)pc一台 + android 手机一部

一、PC 搭建开发环境

1. 安装 Qt 开发环境(记得选择 Android 相关组件)

qt 下载地址:https://download.qt.io/archive/qt/5.9/5.9.2/qt-opensource-linux-x64-5.9.2.run

2. 安装 openjdk

sudo apt-get install -y openjdk-8-jdk 

3. 安装 android-sdk

下载后解压:  http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz

解压后在 tools 文件夹下执行 android 脚本 打开android  sdk 管理器 进行安装

4. 安装 android-ndk

下载后解压: https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip

5. 打开 qt creator -》工具-》选项-》设备-》Android  设置好JDK、SDK、NDK的路径(三个路径依次是前三步的路径),配置好如下图

参考博客:https://blog.csdn.net/zssrxt/article/details/79120896

 二、链接华为手机(暂且理解为开发环境提供编译环境吧)

1.打开手机开发者模式,华为P20为

1.1 手机-->设置-->关于手机 -->版本号 ,找到后连续点击版本号,就是使手机处于开发者选项模式

1.2 找到开发人员(系统和更新菜单中)选项(找不到就搜索该设置项),设置如下

2. 用数据线链接开发机器(注意数据线的选择,有的只能充电)

链接后手机会跳出一个授权窗口的东西,选择同意即可

3. 开发机器执行  adb devices 后会显示手机设备(adb 没有的话用apt安装即可)

此时如果找不到,请继续操作第4步骤,否则进行下一节

4. lsusb 能看到链接的设备(链接前后对比很容易找到,如果找不到换数据线试试)

 

vim /etc/udev/rules.d/51-android.rules 后追剧如下内容(注意 设备ID 要与 lsusb 查到的保持一致,没有该文件就新建)

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="12d1", MODE="0666"

修改权限为777,重新链接手机,执行第3步

参考博客:https://blog.csdn.net/hubbybob1/article/details/90032774

三、应用开发

经过前两节的折腾,开发环境已经完全搭建成功了,剩下的就是开发一个应用了。

为了便于测试整个流程,根据 qt creator 向导创建一个简单的程序即可(注意选择正确的开发套件 Kit Selection,如下图)。

注意不要使用cmake,使用qmake,否则可能无法编译(Qt5的还不支持cmake,据说Qt6将支持  https://www.kdab.com/qtcreator-cmake-for-android-plugin/)

创建成功后即可进行构建(qt creator 可以生成apk安装包),构建时,点击下图红色按钮

不出意外的话会弹出如下图,剪头指的就是手机设备,选择该设备点击 “OK”后开始构建,构建结束后,apk会自动发送给手机(注意观察过程),手机会提示是否进行安装,安装后,就可以使用了

当然,也可以通过构建的apk包手动安装,路径如:./build-untitled-Android_for_armeabi_v7a_GCC_4_9_Qt_5_9_2_for_Android_armv7-Debug/android-build/build/outputs/apk/android-build-debug.apk