【问题标题】:Install specific adb version on Linux在 Linux 上安装特定的 adb 版本
【发布时间】:2021-07-06 09:14:39
【问题描述】:

我想为连接设备使用特定的 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 版。

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

【问题讨论】:

  • 为什么不使用Android SDK附带的那个?
  • 它在2个docker容器上,版本不一样:/
  • 我的意思是最新Android SDK附带的adb1.0.40版本,你为什么要安装apt而不是使用那个?

标签: android adb


【解决方案1】:

在我的 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】:

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

    wget https://dl.google.com/android/repository/platform-tools_r<specific-version>-linux.zip
    

    但platform-tool版本和adb版本的相关性不大。

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

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

    【讨论】:

    • 那么如何在没有反复试验的情况下获得特定版本。在某些地方必须有发行说明或库存规格。这是新千年,对吧?
    【解决方案3】:

    从 Android Studio 更新您的 Android SDK Platform-Tools,然后转到“/Sdk/platform-tools/”目录。 运行./adb --version 同样的方式你可以在不同的地方维护多个 adb 版本文件。

    【讨论】:

      【解决方案4】:

      以下步骤仅适用于 Linux。

      • 从 Android SDK 下载特定的 adb 版本。
      • 从 Android/Sdk/platform-tools 中找到 adb 文件。
      • 然后将文件移动到 sudo mv adb /usr/bin/adb
      • 重新定位 adb 后,转到 /usr/bin/adb。
      • 通过授予读写权限,sudo chmod +x ./adb

      特定的 adb 版本已安装。

      要检查 adb 版本,请使用 adb --version

      【讨论】:

        【解决方案5】:

        由于此 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)。

        我能够从 herehere 找到 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.
        

        【讨论】:

          【解决方案6】:

          对于这个问题,上面的链接可能无效。但我找到了 github repo 用于特定平台工具,包括所有操作系统。所以只需要下载具体 adb 相关的版本(比如 28.0.1 对应 adb 1.0.40)即可。然后解压并设置环境。

          【讨论】:

            猜你喜欢
            • 2018-08-26
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-04-11
            • 2020-07-29
            • 2018-11-21
            • 1970-01-01
            相关资源
            最近更新 更多