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异步之call future
Jun 14 Java/Android
详解SpringBoot异常处理流程及原理
Jun 21 Java/Android
基于Java的MathML转图片的方法(示例代码)
Jun 23 Java/Android
Java使用httpRequest+Jsoup爬取红蓝球号码
Jul 02 Java/Android
java设计模式--七大原则详解
Jul 21 Java/Android
Java Lambda表达式常用的函数式接口
Apr 07 Java/Android
解决springboot druid数据库连接失败后一直重连的方法
Apr 19 Java/Android
Android在Sqlite3中的应用及多线程使用数据库的建议
Apr 24 Java/Android
Spring Boot 实现 WebSocket
Apr 30 Java/Android
Android studio 简单计算器的编写
May 20 Java/Android
Spring Cloud OpenFeign模版化客户端
Jun 25 Java/Android
Android移动应用开发指南之六种布局详解
Sep 23 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
第4章 数据处理-php数组的处理-郑阿奇
2011/07/04 PHP
PHP中的正则表达式函数介绍
2012/02/27 PHP
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
jQuery判断元素是否是隐藏的代码
2011/04/24 Javascript
用jQuery模拟页面加载进度条的实现代码
2011/12/19 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
2012/12/09 Javascript
页面使用密码保护代码
2013/04/10 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
2016/06/07 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
jQuery tagsinput在h5邮件客户端中应用详解
2016/09/26 Javascript
基于JavaScript实现抽奖系统
2018/01/16 Javascript
基于leaflet.js实现修改地图主题样式的流程分析
2020/05/15 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
在Django中同时使用多个配置文件的方法
2015/07/22 Python
Python虚拟环境项目实例
2017/11/20 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
python处理自动化任务之同时批量修改word里面的内容的方法
2019/08/23 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2012/04/17 面试题
几个Linux面试题笔试题
2012/12/01 面试题
函授本科自我鉴定
2013/11/03 职场文书
大学生家政服务项目创业计划书
2014/01/30 职场文书
办公室秘书岗位职责范本
2014/02/11 职场文书
优秀实习生感言
2014/03/01 职场文书
环保宣传标语
2014/06/12 职场文书
北京英语导游词
2015/02/12 职场文书
2015年计划生育协会工作总结
2015/05/13 职场文书
雨雪天气温馨提示
2015/07/15 职场文书