写点什么

Ubuntu18.04 下 QT 开发 Android 无法连接设备问题解决

作者:DS小龙哥
  • 2022 年 3 月 21 日
  • 本文字数:1472 字

    阅读完需:约 5 分钟

1. 需求

在 Linux 环境下搭建 QT 的 Android 开发环境,开发了一款 APP 想部署安装在实体手机设备上。


Linux 版本: ubuntu18.04 64 位,运行在虚拟机环境下。


QT 版本: 5.12.6


测试手机: 小米 10 至尊版


系统版本是: Android 11


error: insufficient permissions for device: user in plugdev group; are your udev rules wrong?

2. 问题现象

(1)虚拟机里连接上手机设备之后,QT 里选择 Android 套件进行编译部署,弹窗选项框选择设备,这时提示"ABI"不支持。 无法选择自己的手机设备。



(2)使用 adb 命令查看设备列表时,提示权限不足


wbyq@wbyq:~/work_pc/AndroidPath/android-sdk-linux/platform-tools$ adb devicesList of devices attached4bda00bf  no permissions (user in plugdev group; are your udev rules wrong?); see [http://developer.android.com/tools/device.html]                                                                                                                                                                          wbyq@wbyq:~/work_pc/AndroidPath/android-sdk-linux/platform-tools$ sudo ./adb remounterror: insufficient permissions for device: user in plugdev group; are your udev rules wrong?See [http://developer.android.com/tools/device.html] for more information
复制代码


(3)一般挂载不上 Android 设备解决办法


在终端输入以下 3 条命令:adb kill-serveradb start-serveradb remount再使用 adb devices 和 adb shell 就可以使用 android adb 功能了。
复制代码


adb 命令所在的路径:


/home/wbyq/work_pc/AndroidPath/android-sdk-linux/platform-tools
复制代码


如果使用 adb 命令时,提示权限不足问题,请看下面解决办法。

3. 解决办法

(1)先将 Android 手机的开发者选项打开。一般手机的开启方法: 找到系统设置、系统参数里,找到系统版本的参数选项,快速点击 5~7 次,即可打开开发者选项设置,回到上一级页面,选择更多设置,就能看到开发者选项,然后开启 USB 调试选项即可。


(2)将手机连接到电脑上,再挂载到虚拟机里,点击右下角即可连接进虚拟机。



(3)在命令行运行lsusb命令,扫描设备是否连接成功


wbyq@wbyq:~/work_pc/AndroidPath/android-sdk-linux/platform-tools$ lsusbBus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hubBus 003 Device 014: ID 18d1:4ee7 Google Inc. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB HubBus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual MouseBus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hubwbyq@wbyq:~/work_pc/AndroidPath/android-sdk-linux/platform-tools$ 
复制代码



如果设备扫描到,那么接下来就简单了。


(4)添加权限文件


$ cd /etc/udev/rules.d/ $ sudo vim 51-android.rules
复制代码


加入以下内容,保存:


SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
复制代码



(5)再次执行adb devices命令,即可扫描到设备


android-sdk-linux/platform-tools$ adb devicesList of devices attached4bda00bf  device
复制代码



如果这一步能扫描到设备,那么打开 QtCreator 再次选择 Android 套件,选择编译部署,就可以扫描到自己的手机了。


(6)最终解决效果



选择之后,这时手机上会弹出 USB 调试授权选项框,点击确认即可。



(7)QT 在安装部署过程中,进度条大概到一半的时候,手机上会弹出是否安装 应用,记得点击继续安装



发布于: 刚刚阅读数: 3
用户头像

DS小龙哥

关注

之所以觉得累,是因为说的比做的多。 2022.01.06 加入

熟悉C/C++、51单片机、STM32、Linux应用开发、Linux驱动开发、音视频开发、QT开发. 目前已经完成的项目涉及音视频、物联网、智能家居、工业控制领域

评论

发布
暂无评论
Ubuntu18.04下QT开发Android无法连接设备问题解决_3 月月更_DS小龙哥_InfoQ写作平台