Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在Linux上安装特定的adb版本_Android_Adb - Fatal编程技术网

Android 在Linux上安装特定的adb版本

Android 在Linux上安装特定的adb版本,android,adb,Android,Adb,我想为连接设备使用特定的adb版本。对于connect external emulator,我尝试使用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版 有人知道我是否可以在Docke

我想为连接设备使用特定的adb版本。对于connect external emulator,我尝试使用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版


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

,我使用:

  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 \

从Android Studio更新您的Android SDK平台工具,然后转到“/SDK/Platform Tools/”目录。 运行
/adb--version

同样,您可以在不同的位置维护多个adb版本文件。

以下步骤仅适用于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

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

wget https://dl.google.com/android/repository/platform-tools_r<specific-version>-linux.zip
wgethttps://dl.google.com/android/repository/platform-tools_r-linux.zip
但平台工具版本和adb版本之间的相关性很小

例如,
platform-tools\u r29.0.5-linux
具有adb版本41。您可以查看所需特定adb版本的发行说明


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

因为此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 41Android 10(API 29)而且该手机需要ADB 40。您可以检查您的Android版本以查找相应的ADB版本以获取或轻松阅读上面的错误消息以查找XX(在本例中为40)

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

为什么不使用Android SDK附带的版本呢?它位于2个docker容器上,版本不同:/我的意思是,最新Android SDK附带的
adb
版本是
1.0.40
,你为什么要用apt而不是apt安装它呢?那么,你如何不经过反复试验就获得特定的版本呢。在某些地方必须有一个发行说明或库存规格。这是新千年,对吗?