ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

关于WSL中adb不能正常使用的问题

2021-09-27 12:32:30  阅读:708  来源: 互联网

标签:Windows WSL apt platform 正常 adb Android tools


关于WSL中adb不能正常使用的问题

问题描述

最近遇到一个很抓狂的事情,我在Windows中和WSL中都安装了Android-platform-tools(其中也就包含了adb),但是Windows种的adb能用,而wsl中的adb检测不到机器。

Windows中是通过下载最新的tools到某个文件夹,再指定环境变量的方式来配置的。

在配置Windows这边的tools之前,wsl中的是可以正常使用的,即使我安装了Android Studio。但是配置Windows的之后,就遇到这种问题了。Windows这边能正常检测机器,但是wsl这边不能检测到。

倒也不是说Windows的不能用,只是Windows的shell着实差点意思,比如输入adb之后,再tab补齐啥的。

关于网上的说法

问题所在其实网上很多已经说了,就是因为两边的adb版本不一致导致的。但是他给出的解决方案是用apt更新tools。

其实根本没有用,因为apt里面的tools更新得不如谷歌官网快(现在apt还留在1.0.3x的版本吧,连无线调试都不支持)。而且版本要求非常严格,如下:
在这里插入图片描述
在这里插入图片描述
像这样,都是1.0.41,但是下面得version不一致,都是不行的。

另外一种直接在wsl中调用exe的方法太麻烦了。

解决办法

所以只能同时更新两边的platform-tools来解决这个问题(linux不能用apt)。注意必须一起更新,隔几天版本的小编号可能就变了。

Windows下的更新

我各人比较推荐的办法就是我上面说的那种,放到一个目录下,然后指定环境变量,这样可以直接在终端调用,不用每次进到文件夹。
下载地址:platform-tools-latest-windows.zip
解压到某个目录,然后把目录地址保存到环境变量中。(简单一下环境变量配置方法,也不啰嗦了)
环境变量配置方法

WSL下的更新

  • 安装这一部分参考了知乎叶铁柱师傅的方法:Linux系统的adb版本升级
  • 先要移除apt安装过的platform-tools,直到你输入adb他告诉你没有这个命令才进行下一步安装。
    移除命令的话就是apt remove xxx,我记得我移除了三个,android-sdk-platform-toolsandroid-sdk-platform-tools-commonandroid-libadb
  • 依次执行以下命令:
# 创建并进入Android文件夹,这里的创建路径可以按照你自己的想法来
mkdir ~/Android && cd ~/Android
# 获取最新的tools的zip包,放到当前目录
wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip 
# WSL默认没安装unzip,解压缩之前自己apt安装一下
sudo apt install unzip # 本来就安装了的话则跳过
# 解压缩
unzip platform-tools-latest-linux.zip
# 写入命令别名,并更新命令
# 如果用的zsh终端就把.bash_aliases改成.zsh_aliases
echo "alias adb='~/Android/platform-tools/adb'" >> ~/.bash_aliases && source ~/.bash_aliases
echo "alias fastboot='~/Android/platform-tools/fastboot'" >> ~/.bash_aliases && source ~/.bash_aliases

结果

WSL中
在这里插入图片描述
Windows中
在这里插入图片描述
至此,两边版本号完全相同,且都能识别到Android机器。

标签:Windows,WSL,apt,platform,正常,adb,Android,tools
来源: https://blog.csdn.net/Code_Aape/article/details/120505420

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有