android studio配置被掠记-续
上一篇文章中主要说到的是android studio的配置,主要被aapt2所掠。这次主要来说在运行app时,无法连接真机设备。
android studio3.5.2版本中会自动启动adb.exe。而且还有守护进程,在任务管理器中手动结束掉adb.exe进程,一会就自动启动了。
在IDE的右上角,如果adb能正常使用,就会直接显示设备的名称。如:xiaomi Redmi note5等等,否则显示 no devices,这样肯定是运行不了的。另外一点,前面一个显示框,如果项目sync成功,就会显示项目的主模块名称一般是app,否则显示edit configurations,也是无法运行的。
首先一点,在任务管理器中查看下有没有adb.exe*32 (64位的android studio 也是用的32位的adb),没有的话说明adb无法启动。
找到当前使用的android-sdk目录,其下有个platform-tools目录,adb就在这个目录。直接双击adb.exe启动。如果有错误框弹出,提示无法运行的之类的。有的具体会提示:【无法启动此程序,因为计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll】。
网上有种说法是,具体原因应该是adb的版本太高,win7无法支持该版本的adb,但SDK Manager中又只能更新到最新版本。就用了低版本的sdk种的platform-tools来替换。
这样有时可以解决问题,我开始也是这么干的。后来换了种方法。比较新版的IDE用的低版的platform-tools,还不知道后面会出现什么莫名其妙的问题。解决问题还是要正向解决。开源这套东西,太讲究版本匹配了。
所以我们要解决的是系统中缺少的dll。如上面的api-ms-win-crt-runtime-l1-1-0.dll。这个网上也有解决方法,一种是单独找这样的文件下载,放到 系统盘的/windows/system32目录下。但不建议用这种方法。因为不知道下载的dll文件是否可靠。有可能下的是64位下用的。也就是放到系统盘的/windows/syswow64目录下的。很多人syswow64下是有这个文件的,只是system32下没有,导致adb运行不了。
另一种方法就是打系统补丁,安全可靠。Windows6.1-KB2999226-x64.msu 这个补丁文件就是,在微软官网下载就可以,用不着花积分下载。
打完补丁,重启系统。一般就可以运行adb了。任务管理器中也能看到adb进程了。但android studio中右上角的工具栏还是显示
no devices 这是就不用看ide里提示的内容了。没什么价值。什么远程主机强制关闭了连接。什么unable to locate adb。根据这些提示去找答案都解决不了。浪费了很多时间。
adb是有指令的。直接在cmd窗口用指令 adb devices来测试。能正常执行指令adb就没问题。再找IDE的问题。否则还是adb的问题。
检查adb的默认端口5037是否被占用,kill掉占用进程再试。
再设备管理器中查看有关adb interface 设备驱动是否正常,不正常的安装驱动
1. 利用开发者模式自动安装
1) 连接手机与电脑。
2) 打开手机—》设置—》关于手机—》在版本号上连续点击5次,打开开发者模式。
3) 返回设置—》开发者选项—》打开USB调试—》等待它自动安装安装驱动。
已经是打开状态的,可以先关闭再打开。
用其他方式安装驱动,如安装豌豆荚成功后,再删掉。
再到cmd窗口执行adb的指令,指令成功了。就表示adb可以用了。
重打开USB调试还是无法安装驱动。网上有介绍另一种方式:
直接设置设备管理器中,找到adb interface 设备右键更新驱动,参考地址:
https://blog.csdn.net/softwoker/article/details/86677946
但这种方式我的没有成功,提示没有找到兼容设备的驱动。即使单独下个驱动包也安装不上,提示缺少文件。
网上搜索时发现个好东西:ADB Driver Installer
https://blog.csdn.net/tlbaba/article/details/79158289
下个ADB Driver Installer后,点击执行,点击安装。就自动安装驱动了。
一会驱动就装好了,设备管理器中带感叹号的adb interface 也变成无感叹号的 android composite adb interface
本文地址:https://blog.csdn.net/lanfeng330/article/details/108868207