我试图使用虚幻引擎 4 模板进行 AR,但出现此错误。这一步有点将 android studio 与 unreal 连接起来,但我就是不工作。
如果您在运行“SetupAndroid.bat”时遇到此问题,原因可能很简单。如果你勾选“SetupAndroid.bat”(右键,编辑。或者将其转为txt),默认的sdkmanager路径可能与实际位置不同。
您可能需要手动从Android Studio SDK根文件夹中搜索“sdkmanager”(假设会显示在cmd界面上),找到实际目录并修改“SetupAndroid.bat”,然后重试。
同样,我尝试在我的两个驱动器上搜索“sdkmanager”,但找不到任何内容。 也找不到任何 cmdline-tools 驱动器。
接下来尝试:
AppData\Local\Android\Sdk
文件夹sdkmanager.bat
SetupAndroid.bat
sdkmanager.bat
\cmdline-tools\latest\bin\sdkmanager.bat
)这对我有用。
我花了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
更正变量值。但这种覆盖不起作用。您不能只在批处理文件中执行此操作(这有点愚蠢,但确实如此)。有关批处理变量问题的更多信息,请参阅:如何使用批处理文件中的另一个变量覆盖现有变量?
“干得好”!史诗游戏
很简单,只需将 cmdline-tools 内的文件夹重命名为latest,它就应该找到它