在 Linux 上安装特定的 adb 版本

s-l*_*ndz 2 android adb

我想使用特定的 adb 版本来连接设备。对于连接外部模拟器,我尝试使用adb connect localhost:5555,结果如下:

[adb]: adb server version (36) doesn't match this client (40); killing...
[adb]: * daemon started successfully
Run Code Online (Sandbox Code Playgroud)

对于安装 adb,我使用apt install adb但我只有 1.0.36 版。

有人知道我是否可以安装和使用 1.0.40 版的 adb 吗?

小智 8

您可以使用以下方式下载特定版本的平台工具

wget https://dl.google.com/android/repository/platform-tools_r<specific-version>-linux.zip
Run Code Online (Sandbox Code Playgroud)

但平台工具版本和adb版本之间几乎没有相关性。

例如,platform-tools_r29.0.5-linuxadb 版本为 41。您可以查看所需的特定 adb 版本的发行说明。

下载后,按照@lojza回答为您的系统设置软链接。

  • 那么如何在不反复试验的情况下获得特定版本呢?某个地方必须有发行说明或库存规格。这是新千年,对吗? (2认同)

小智 7

在我的 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 \
Run Code Online (Sandbox Code Playgroud)