我已经在 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
文件有两个版本?使用哪一个?过时模拟器的消息是否与这两个文件有关?
考虑到先安装了
4.0.1
版本,我只能推测为什么还安装了已弃用的版本。我怀疑您安装的软件包中的任何一个都需要旧版本,或者在安装时 cmdline-tools;latest
尚未指向 4.0.1
版本。如果它真的很重要,我能想到的唯一检查方法就是重复该过程,然后一次安装一个软件包以查看。
关于您的其他问题,除非需要一些过时的功能,否则通常最好删除已弃用的软件。因此,我认为在这种情况下使用
cmdline-tools/tools/bin/sdkmanager
,即版本4.0.1
,将是谨慎的举动。
我不确定有关过时模拟器的消息。