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


Posted in Java/Android onJune 01, 2022

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"不支持。 无法选择自己的手机设备。

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

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

wbyq@wbyq:~/work_pc/AndroidPath/android-sdk-linux/platform-tools$ adb devices
List of devices attached
4bda00bf	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 remount
error: 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-server
adb start-server
adb 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)将手机连接到电脑上,再挂载到虚拟机里,点击右下角即可连接进虚拟机。

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

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

wbyq@wbyq:~/work_pc/AndroidPath/android-sdk-linux/platform-tools$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 014: ID 18d1:4ee7 Google Inc. 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
wbyq@wbyq:~/work_pc/AndroidPath/android-sdk-linux/platform-tools$

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

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

(4)添加权限文件

$ cd /etc/udev/rules.d/ 
$ sudo vim 51-android.rules

加入以下内容,保存:

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"

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

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

android-sdk-linux/platform-tools$ adb devices
List of devices attached
4bda00bf	device

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

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

(6)最终解决效果

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

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

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

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

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

到此这篇关于Ubuntu18.04下QT开发Android无法连接设备问题解决实现的文章就介绍到这了,更多相关QT Android无法连接设备内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Java/Android 相关文章推荐
Java Optional<Foo>转换成List<Bar>的实例方法
Jun 20 Java/Android
SpringCloud的JPA连接PostgreSql的教程
Jun 26 Java/Android
SpringBoot整合JWT的入门指南
Jun 29 Java/Android
浅谈resultMap的用法及关联结果集映射
Jun 30 Java/Android
Java 泛型详解(超详细的java泛型方法解析)
Jul 02 Java/Android
聊聊SpringBoot自动装配的魔力
Nov 17 Java/Android
java代码实现空间切割
Jan 18 Java/Android
Java生成日期时间存入Mysql数据库的实现方法
Mar 03 Java/Android
你知道Java Spring的两种事务吗
Mar 16 Java/Android
spring注解 @PropertySource配置数据源全流程
Mar 25 Java/Android
Android超详细讲解组件ScrollView的使用
Mar 31 Java/Android
解决spring.thymeleaf.cache=false不起作用的问题
Jun 10 Java/Android
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
Jun 01 #Java/Android
Java中生成微信小程序太阳码的实现方案
Jun 01 #Java/Android
Java处理延时任务的常用几种解决方案
Java实现添加条码或二维码到Word文档
Jun 01 #Java/Android
Spring IOC容器Bean的作用域及生命周期实例
May 30 #Java/Android
spring IOC容器的Bean管理XML自动装配过程
May 30 #Java/Android
利用正则表达式匹配浮点型数据
May 30 #Java/Android
You might like
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
PHP正则表达式匹配替换与分割功能实例浅析
2017/02/04 PHP
PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
2017/02/05 PHP
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
IE6-8中Date不支持toISOString的修复方法
2014/05/04 Javascript
nodejs分页类代码分享
2014/06/17 NodeJs
深入分析JQuery和JavaScript的异同
2014/10/23 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
JS+HTML5 FileReader对象用法示例
2017/04/07 Javascript
ES6新特性五:Set与Map的数据结构实例分析
2017/04/21 Javascript
详解基于vue-cli优化的webpack配置
2017/11/06 Javascript
vue生命周期和react生命周期对比【推荐】
2018/09/19 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
js+canvas实现刮刮奖功能
2020/09/13 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
python调用java模块SmartXLS和jpype修改excel文件的方法
2015/04/28 Python
Python写入CSV文件的方法
2015/07/08 Python
Python3.4 splinter(模拟填写表单)使用方法
2018/10/13 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
2019/06/03 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
Python数据可视化:泊松分布详解
2019/12/07 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
CSS3实现红包抖动效果
2020/12/23 HTML / CSS
中学生学习生活的自我评价
2013/10/26 职场文书
在求职信中如何凸显个人优势
2013/10/30 职场文书
领导的自我鉴定
2013/12/28 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
车辆委托书范本
2014/10/05 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
html实现弹窗的实例
2021/06/09 HTML / CSS
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android