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 Bean的实例化之属性注入源码剖析过程
Jun 13 Java/Android
Spring Cache和EhCache实现缓存管理方式
Jun 15 Java/Android
Java 语言中Object 类和System 类详解
Jul 07 Java/Android
小程序与后端Java接口交互实现HelloWorld入门
Jul 09 Java/Android
关于MybatisPlus配置双数据库驱动连接数据库问题
Jan 22 Java/Android
Java实现给Word文件添加文字水印
Feb 15 Java/Android
Netty分布式客户端处理接入事件handle源码解析
Mar 25 Java/Android
Java 数据结构七大排序使用分析
Apr 02 Java/Android
SpringBoot中获取profile的方法详解
Apr 08 Java/Android
零基础学java之循环语句的使用
Apr 10 Java/Android
利用正则表达式匹配浮点型数据
May 30 Java/Android
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
Jul 15 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
php文件操作实例代码
2012/05/10 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
php中ltrim()、rtrim()与trim()删除字符空格实例
2014/11/25 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
2015/11/15 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
通用JS事件写法实现代码
2009/01/07 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
JS动态修改iframe内嵌网页地址的方法
2015/04/01 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
JavaScript实现简易聊天对话框(加滚动条)
2020/02/10 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
Vue实现简易购物车页面
2020/12/30 Vue.js
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python基础练习之用户登录实现代码分享
2017/11/08 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
详解python3中的真值测试
2018/08/13 Python
Django中使用 Closure Table 储存无限分级数据
2019/06/06 Python
在自动化中用python实现键盘操作的方法详解
2019/07/19 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
2020/02/15 Python
Python内置异常类型全面汇总
2020/05/28 Python
ET Mall东森购物网:东森严选
2017/03/06 全球购物
具有防紫外线功能的高性能钓鱼服装:Hook&Tackle
2018/08/16 全球购物
英国标志性生活方式品牌:Skinnydip London
2019/12/15 全球购物
家长对孩子的感言
2014/03/10 职场文书
英文演讲稿
2014/05/15 职场文书
2015年小学生新年寄语
2014/12/08 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS