我已经在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 Tools包已弃用(上一个版本是26.1.1
(,它要求使用新的命令行工具包。
命令行工具包的文档没有提到该包的当前版本,安卓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
,将是谨慎的做法。
我不确定关于过时模拟器的消息。