我想为连接设备使用特定的adb版本。对于连接外部仿真器,我尝试使用adb connect localhost:5555
,我得到的结果是:
[adb]: adb server version (36) doesn't match this client (40); killing...
[adb]: * daemon started successfully
对于安装adb,我使用apt install adb
,但我只有1.0.36版。
有人知道我是否可以安装和使用adb 1.0.40版吗?
答案 0 :(得分:3)
您可以使用
下载特定版本的平台工具。wget https://dl.google.com/android/repository/platform-tools_r<specific-version>-linux.zip
但是平台工具版本和adb版本之间几乎没有关联。
例如platform-tools_r29.0.5-linux
具有adb版本41。您可以查看所需的特定adb版本的发行说明。
下载后,请按照@lojza答案为您的系统设置软链接。
答案 1 :(得分:0)
在我的Dockerfile中,我使用:
mkdir -p /usr/local/android-sdk \
&& cd /usr/local/android-sdk/ \
&& curl -OL https://dl.google.com/android/repository/platform-tools-latest-linux.zip \
&& unzip platform-tools-latest-linux.zip \
&& rm -f platform-tools-latest-linux.zip \
&& ln -s /usr/local/android-sdk/platform-tools/adb /usr/bin/adb \
&& export PATH=/usr/local/android-sdk/platform-tools:${PATH} \
&& echo "export PATH=/usr/local/android-sdk/platform-tools:${PATH}" >> /etc/profile \
答案 2 :(得分:0)
从Android Studio更新您的Android SDK平台工具,然后转到“ / Sdk / platform-tools /”目录。
运行./adb --version
您可以在不同位置维护多个adb版本文件的方法相同。
答案 3 :(得分:0)
由于此 ADB 服务器版本 (XX) 与此客户端 (YY) 不匹配;杀...似乎是一个非常突出的问题,让我提出一个非常直接的解决方案 - 我实际上想知道为什么在其他任何地方都没有回答,或者至少,我找不到它。要查找您正在使用的 ADB 版本,请键入 adb version 以获取如下内容:
Android Debug Bridge version 1.0.41
Version 30.0.5-6877874
Installed as D:\Setups\XXXXX\Lineage FP3\platform-tools_30.0.5(ADB_1.0.41)\adb.exe
Android 版本与 adb 版本不匹配。例如,Android 11 使用 API 30 和 ADB 41。Android 10 (API 29) 并且该手机需要 ADB 40。您可以检查您的 Android 版本以找到相应的 ADB 版本获取或轻松阅读上面的错误信息以找到 XX(在本例中为 40)。
我能够从 here 和 here 找到 ADB 版本 1.0.40。它就像一个魅力:
D:\Setups\XXXXX\Lineage FP3\platform-tools_28.0.1(ADB_1.0.40)>adb devices
List of devices attached
A2XXXXXXXXX1 unauthorized.
答案 4 :(得分:0)
对于这个问题,上面的链接可能无效。但是我找到了针对特定平台工具(包括所有操作系统)的 github repo。所以只需下载与特定adb相关的版本(例如28.0.1对应ADB 1.0.40)。然后解压并设置环境。