在SDK Manager
更新上一版本后,我的android sdk manager
无效,sdk manager.exe在更新前正确运行。现在,当我在命令行上运行android.bat
时,我收到此消息:
ERROR: SWT folder '' does not exist. Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
你可以给我一个解决方案或一些指令来改变我的android.bat
答案 0 :(得分:20)
我添加了这一行:
set java_exe=C:\Windows\System32\java.exe
在我的android.bat:
之后rem Check we have a valid Java.exe in the path.
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF
SDK Manager.exe现在正确运行:D!
答案 1 :(得分:9)
删除
for /f "delims=" %%a in ('"%java_exe%" -jar lib\archquery.jar') do set swt_path=lib\%%a
添加,如果您使用的是x86_64系统
set swt_path=lib\x86_64
否则
set swt_path=lib\x86
答案 2 :(得分:3)
添加此行 - :
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF
在android.bat中的这些行之后:
set swt_path=lib\x86_64
和这一行 - :
rem Set SWT.Jar path based on current architecture (x86 or x86_64)
for /f "delims=" %%a in ('"%java_exe%" -jar lib\archquery.jar') do set swt_path=lib\%%a
在以下几行之后:
set swt_path=lib\x86_64
如果您的系统是32位,请更改
set swt_path=lib\x86
到
Collection
答案 3 :(得分:2)
转到Windows环境变量设置,创建一个新的(如果已存在,编辑旧的)变量,其名称为:JAVA_HOME
,并且值为已安装的JDK路径,如:
C:\Program Files\Java\jdk1.7.0_45\
并将其添加到路径变量的末尾:%JAVA_HOME%/bin
答案 4 :(得分:1)
其实Google在这里犯了一个错误,请在#27行的“\ sdk \ tools \ lib”文件夹中打开find_java.bat,其中显示:
find /i "x86" > NUL && set arch_ext=32 || set arch_ext=64
删除“arch_ext = 32”和“||”之间的空白,如“arch_ext = 32 ||”,重新打开cmd,所有工具都能正常工作。
答案 5 :(得分:0)
我之前也遇到过这个问题。经过一些修补android.bat后,我发现有一些奇怪的东西与archquery jar的相对路径。所以我最终改变了:
/ f" delims =" %% a in('"%java_exe%" -jar lib \ archquery.jar')设置 swt_path = LIB \ %%一个强>
到
/ f" delims =" %% a in('"%java_exe%" -jar%~dp0 \ lib \ archquery.jar')设置 swt_path = LIB \ %%一个强>
(%~dp0是窗口的神奇当前脚本目录变量)
不幸的是,当您更新sdk工具时,此更改将被擦除,因此您必须每次都进行此更改。希望我知道为什么这个更改是必要的(也许其他人知道更多)但是这个修复对我来说对于我需要打开SDK管理器与更新的频率
我解决了这个问题,其他解决方案对我不起作用
答案 6 :(得分:0)
如果你得到"xcopy' is not recognized as an internal or external command"
这对我有用。将C:\Windows\System32
添加到名为PATH的Windows环境变量中。
步骤:
C:\Windows\System32
。别忘了添加
添加内容之前的分隔符;
打开android.bat
答案 7 :(得分:0)
我有相同的错误消息。 我只是恢复android-sdk / tools然后一切正常。
答案 8 :(得分:0)
我刚刚通过添加
解决了这个问题echo GHETTO NOGGAR RAGGED OVERRIDE ANDROID_SWT
set ANDROID_SWT=C:\NVPACK\android-sdk-windows\tools\lib\x86_64
echo %ANDROID_SWT%
之前
rem The global ANDROID_SWT always override the SWT.Jar path
if defined ANDROID_SWT set swt_path=%ANDROID_SWT%
if exist "%swt_path%" goto SetPath
echo ERROR: SWT folder '%swt_path%' does not exist.
echo Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
goto :EOF
在我的android.bat中(CodeWorks 1r5将其安装到C:\ NVPACK \ android-sdk-windows \ tools)
答案 9 :(得分:0)
我知道为时已晚,但它会帮助其他人,
它令人困惑所以我正在分享我的文件
你需要改变
在我的情况下:设置 java_exe=C:\Program Files\Java\jdk1.8.0_271\bin\java.exe
如果你使用的是 64 位系统,那么将 set swt_path 更改为:
设置 swt_path=C:\Users
如果是 32 位更改为:
设置 swt_path=C:\Users
这是我的工作文件
@echo off
rem Copyright (C) 2010 The Android Open Source Project
rem
rem Licensed under the Apache License, Version 2.0 (the "License");
rem you may not use this file except in compliance with the License.
rem You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.
rem don't modify the caller's environment
setlocal
rem Set up prog to be the path of this script, including following symlinks,
rem and set up progdir to be the fully-qualified pathname of its directory.
set prog=%~f0
rem Change current directory and drive to where the script is, to avoid
rem issues with directories containing whitespaces.
cd /d %~dp0
rem Check we have a valid Java.exe in the path.
set java_exe=C:\Program Files\Java\jdk1.8.0_271\bin\java.exe
call ..\lib\find_java.bat
if not defined java_exe goto :EOF
for /f %%a in ("C:\Users\<Your_User_Name>\AppData\Local\Android\Sdk\tools\lib\monkeyrunner-26.0.0-dev.jar") do set jarfile=%%~nxa
set frameworkdir=.
set libdir=
if exist %frameworkdir%\%jarfile% goto JarFileOk
set frameworkdir=lib
if exist %frameworkdir%\%jarfile% goto JarFileOk
set frameworkdir=..\framework
:JarFileOk
set jarpath=%frameworkdir%\%jarfile%
if not defined ANDROID_SWT goto QueryArch
set swt_path=C:\Users\<Your_User_Name>\AppData\Local\Android\Sdk\tools\lib\x86_64\swt.jar
goto SwtDone
:QueryArch
for /f "delims=" %%a in ('%frameworkdir%\..\bin\archquery') do set swt_path=C:\Users\<Your_User_Name>\AppData\Local\Android\Sdk\tools\lib\x86_64\swt.jar
:SwtDone
if exist "%swt_path%" goto SetPath
echo SWT folder '%swt_path%' does not exist.
echo Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.
exit /B
:SetPath
call "%java_exe%" -Xmx512m "-Djava.ext.dirs=%frameworkdir%;%swt_path%" -Dcom.android.monkeyrunner.bindir=..\framework -jar %jarpath% %*