SDK Manager为什么有两个版本?使用哪一个?

问题描述 投票:0回答:1

我已经在 Linux 上安装(解压缩)Android 命令行工具 包,并且我已经将这些环境变量设置到我的

.bashrc
文件中:

export ANDROID_SDK_ROOT=$HOME/Programs/Android
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/tools:$PATH
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/tools/bin:$PATH
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/tools/lib:$PATH

sdkmanager
显示的版本是:

$ sdkmanager --version
    4.0.1

我和那个经理一起安装了其他软件包:

$ sdkmanager --install "system-images;android-29;google_apis;x86" "platform-tools" "platforms;android-29" "build-tools;29.0.3"
$ sdkmanager --install "cmdline-tools;latest"

并且在

$ANDROID_SDK_ROOT
下创建了一些目录,其中有
tools
目录,结构与
cmdline-tools/tools
目录类似,但文件更多。
$ANDROID_SDK_ROOT/cmdline-tools/tools/bin
$ANDROID_SDK_ROOT/tools/bin
都拥有
sdkmanager
文件,每个文件显示不同的版本:

$ANDROID_SDK_ROOT/cmdline-tools/tools/bin/sdkmanager   ==> 4.0.1
$ANDROID_SDK_ROOT/tools/bin/sdkmanager                 ==> 26.1.1

我没有修改我的初始环境变量,并且一直在使用我创建的模拟器正常工作,直到最近开始在我的终端(启动我的模拟器时)收到一条包含以下文本的消息:

Your emulator is out of date, please update by launching Android Studio

该消息仅在第一次显示时显示,下次重新启动时要等到一段时间后才会显示。它不会在启动我的模拟器时干扰并且不会降低其性能。

根据本发行说明,SDK工具包已弃用(上一版本为

26.1.1
),它要求使用新的命令行工具包。

命令行工具文档包没有提到这个包的当前版本,子部分Android SDK工具说它应该位于

android_sdk/cmdline-tools/version/bin/
,那么哪个
version
下载压缩文件的页面中没有提到它。

那么为什么我的系统中

sdkmanager
文件有两个版本?使用哪一个?过时模拟器的消息是否与这两个文件有关?

android android-emulator android-sdk-manager
1个回答
0
投票

考虑到先安装了

4.0.1
版本,我只能推测为什么还安装了已弃用的版本。我怀疑您安装的软件包中的任何一个都需要旧版本,或者在安装时
cmdline-tools;latest
尚未指向
4.0.1
版本。如果它真的很重要,我能想到的唯一检查方法就是重复该过程,然后一次安装一个软件包以查看。

关于您的其他问题,除非需要一些过时的功能,否则通常最好删除已弃用的软件。因此,我认为在这种情况下使用

cmdline-tools/tools/bin/sdkmanager
,即版本
4.0.1
,将是谨慎的举动。

我不确定有关过时模拟器的消息。

© www.soinside.com 2019 - 2024. All rights reserved.