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 相关文章推荐
Spring Data JPA的Audit功能审计数据库的变更
Jun 26 Java/Android
详解Java线程池是如何重复利用空闲线程的
Jun 26 Java/Android
Java elasticsearch安装以及部署教程
Jun 28 Java/Android
Java网络编程之UDP实现原理解析
Sep 04 Java/Android
Java 在生活中的 10 大应用
Nov 02 Java/Android
SpringDataJPA在Entity中常用的注解介绍
Dec 06 Java/Android
springboot中的pom文件 project报错问题
Jan 18 Java/Android
Java 数据结构七大排序使用分析
Apr 02 Java/Android
零基础学java之方法的定义与调用详解
Apr 10 Java/Android
Spring IOC容器Bean的作用域及生命周期实例
May 30 Java/Android
springboot集成redis存对象乱码的问题及解决
Jun 16 Java/Android
Java Spring Boot请求方式与请求映射过程分析
Jun 25 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
天津市收音机工业发展史
2021/03/04 无线电
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
JavaScript的常见兼容问题及相关解决方法(chrome/IE/firefox)
2013/12/31 Javascript
Jquery 实现table样式的设定
2015/01/28 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
2018/08/07 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
解决vue打包后刷新页面报错:Unexpected token
2019/08/27 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
python处理PHP数组文本文件实例
2014/09/18 Python
Python实现股市信息下载的方法
2015/06/15 Python
python扫描proxy并获取可用代理ip的实例
2017/08/07 Python
python基本语法练习实例
2017/09/19 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
django实现用户注册实例讲解
2019/10/30 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
兴趣小组活动总结
2014/05/05 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
医德医风自我评价2015
2015/03/03 职场文书
安全伴我行主题班会
2015/08/13 职场文书