无法找到 sdkmanager.bat。安装后是否运行了 Android Studio 并安装了 cmdline-tools?

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

我试图使用虚幻引擎 4 模板进行 AR,但出现此错误。这一步有点将 android studio 与 unreal 连接起来,但我就是不工作。

sdk android-ndk augmented-reality
6个回答
6
投票

遇到了同样的问题,并通过编辑SetupAndroid.bat文件修复了它。

Example of adjusted code

不知道为什么在第一个失败后没有设置 SDKManager 的位置。但手动替换第一个位置是可行的。


0
投票

如果您在运行“SetupAndroid.bat”时遇到此问题,原因可能很简单。如果你勾选“SetupAndroid.bat”(右键,编辑。或者将其转为txt),默认的sdkmanager路径可能与实际位置不同。

您可能需要手动从Android Studio SDK根文件夹中搜索“sdkmanager”(假设会显示在cmd界面上),找到实际目录并修改“SetupAndroid.bat”,然后重试。


0
投票

同样,我尝试在我的两个驱动器上搜索“sdkmanager”,但找不到任何内容。 也找不到任何 cmdline-tools 驱动器。


0
投票

接下来尝试:

  • 转到您的
    AppData\Local\Android\Sdk
    文件夹
  • 搜索
    sdkmanager.bat
  • 导航到其位置并复制它
  • 用记事本(或您选择的其他编辑器)打开
    SetupAndroid.bat
  • 找到包含
    sdkmanager.bat
  • 的行
  • 粘贴复制的位置(例如
    \cmdline-tools\latest\bin\sdkmanager.bat
  • 保存、退出并运行编辑后的文件

这对我有用。


0
投票

我花了2个小时才找出问题所在。

因此,提供的早期解决方案应该可以修复它: 只需替换不正确的路径即可更正一个,或者删除最外层的

IF
块和第一行,其中
%SDKMANAGER%
var 首先设置为无效(我想是过时的路径)值。

这是Epic Games 的SetupAndroid.bat 源代码的一部分。我检查过版本 4.27 和 5.1。这些行在两个版本中都是相同的(但是 5.1 版本仍然具有相同的错误,但它是由于更改了首先尝试的路径的顺序而起作用的):

set SDKMANAGER=%STUDIO_SDK_PATH%\tools\bin\sdkmanager.bat
IF EXIST "%SDKMANAGER%" (
    echo Using sdkmanager: %SDKMANAGER%
) ELSE (
    set SDKMANAGER=%STUDIO_SDK_PATH%\cmdline-tools\latest\bin\sdkmanager.bat
    IF EXIST "%SDKMANAGER%" (
        echo Using sdkmanager: %SDKMANAGER%
    ) ELSE (
        echo Unable to locate sdkmanager.bat. Did you run Android Studio and install cmdline-tools after installing?
        pause
        exit /b 1
    )
)

并且这个特定部分不起作用!我不知道为什么那些开发者没有检查它,或者他们根本不知道批处理文件变量是如何工作的。

这里的问题是,在最近安装的 Android SDK 中,路径

tools
处没有文件夹
%STUDIO_SDK_PATH%
。因此,第一个条件检查失败,然后他们尝试覆盖变量值以使用路径
%STUDIO_SDK_PATH%\cmdline-tools\latest\bin
更正变量值。但这种覆盖不起作用。您不能只在批处理文件中执行此操作(这有点愚蠢,但确实如此)。有关批处理变量问题的更多信息,请参阅:如何使用批处理文件中的另一个变量覆盖现有变量?

“干得好”!史诗游戏


0
投票

很简单,只需将 cmdline-tools 内的文件夹重命名为latest,它就应该找到它

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